This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
(perl #130335) fix numeric comparison for sort's built-in compare
[perl5.git] / t / lib / warnings / 9uninit
index cf49c4b..77a93ce 100644 (file)
@@ -651,8 +651,8 @@ Use of uninitialized value $m1 in sort at - line 6.
 Use of uninitialized value $g1 in sort at - line 6.
 Use of uninitialized value $m1 in sort at - line 7.
 Use of uninitialized value $g1 in sort at - line 7.
-Use of uninitialized value $m1 in sort at - line 7.
 Use of uninitialized value $g1 in sort at - line 7.
+Use of uninitialized value $m1 in sort at - line 7.
 Use of uninitialized value $a in subtraction (-) at - line 8.
 Use of uninitialized value $b in subtraction (-) at - line 8.
 Use of uninitialized value $m1 in sort at - line 9.
@@ -668,7 +668,15 @@ Use of uninitialized value in sort at - line 14.
 Use of uninitialized value in sort at - line 21.
 Use of uninitialized value in sort at - line 22.
 ########
-my $nan = sin 9**9**9;
+use Config;
+unless ($Config{d_double_has_inf} && $Config{d_double_has_nan}) {
+    print <<EOM ;
+SKIPPED
+# No inf/nan support
+EOM
+    exit ;
+}
+my $nan = eval 'sin 9**9**9';
 if ($nan == $nan) {
     print <<EOM ;
 SKIPPED
@@ -681,8 +689,8 @@ use warnings 'uninitialized';
 @sort = sort { ($a)[0] <=> $b } 1, $nan;
 @sort = sort {  $a     <=> $b } 1, $nan;
 EXPECT
-Use of uninitialized value in sort at - line 11.
-Use of uninitialized value in sort at - line 12.
+Use of uninitialized value in sort at - line 19.
+Use of uninitialized value in sort at - line 20.
 ########
 use warnings 'uninitialized';
 my ($m1, $m2, $v);
@@ -2161,7 +2169,7 @@ Use of uninitialized value $v in integer addition (+) at - line 11.
 Use of uninitialized value $x in integer subtraction (-) at - line 13.
 ########
 # NAME 64-bit array subscripts
-# SKIP ? eval { my $q = pack "q", 0 }; $@
+# SKIP ? length(pack "p", "") < 8
 use warnings 'uninitialized';
 
 # aelem + const
@@ -2180,3 +2188,17 @@ undef $SIG{__WARN__};
 EXPECT
 ok
 Use of uninitialized value $a[140688675223280] in string at - line 15.
+########
+# RT #128940
+use warnings 'uninitialized';
+my $x = "" . open my $fh, "<", "no / such / file";
+EXPECT
+Use of uninitialized value in concatenation (.) or string at - line 3.
+########
+# RT #123910
+# undef's arg being undef doesn't trigger warnings - any warning will be
+# from tied/magic vars
+use warnings 'uninitialized';
+undef $0;
+EXPECT
+Use of uninitialized value in undef operator at - line 5.