memcpy has n o in it, as pinted ut by Sarathy.
[p5sagit/p5-mst-13.2.git] / t / pragma / warn / sv
index b6c91c9..2409589 100644 (file)
 
   Undefined value assigned to typeglob
 
+  Possible Y2K bug: %d format string following '19'
+
+  Reference is already weak                    [Perl_sv_rvweaken] <<TODO
+
   Mandatory Warnings
   ------------------
-  Malformed UTF-8 character [sv_pos_b2u]
-      my $a = rindex "a\xff bc ", "bc" ;
+  Malformed UTF-8 character [sv_pos_b2u] (not tested: difficult to produce
+                                          with perl now)
 
   Mandatory Warnings TODO
   ------------------
 __END__
 # sv.c
 use integer ;
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $x = 1 + $a[0] ; # a
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $x = 1 + $b[0] ; # a
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in integer addition (+) at - line 4.
 ########
 # sv.c (sv_2iv)
 package fred ;
@@ -64,21 +68,21 @@ sub STORE { return 1 }
 package main ;
 tie $A, 'fred' ;
 use integer ;
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $A *= 2 ;
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $A *= 2 ;
 EXPECT
-Use of uninitialized value at - line 10.
+Use of uninitialized value in integer multiplication (*) at - line 10.
 ########
 # sv.c
 use integer ;
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 my $x *= 2 ; #b 
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 my $y *= 2 ; #b 
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in integer multiplication (*) at - line 4.
 ########
 # sv.c (sv_2uv)
 package fred ;
@@ -87,40 +91,40 @@ sub FETCH { return undef }
 sub STORE { return 1 }
 package main ;
 tie $A, 'fred' ;
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $B = 0 ;
 $B |= $A ;
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $B = 0 ;
 $B |= $A ;
 EXPECT
-Use of uninitialized value at - line 10.
+Use of uninitialized value in bitwise or (|) at - line 10.
 ########
 # sv.c
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 my $Y = 1 ; 
 my $x = 1 | $a[$Y] ;
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 my $Y = 1 ; 
 $x = 1 | $b[$Y] ;
 EXPECT
-Use of uninitialized value at - line 4.
+Use of uninitialized value in bitwise or (|) at - line 4.
 ########
 # sv.c
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 my $x *= 1 ; # d
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 my $y *= 1 ; # d
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in multiplication (*) at - line 3.
 ########
 # sv.c
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $x = 1 + $a[0] ; # e
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $x = 1 + $b[0] ; # e
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in addition (+) at - line 3.
 ########
 # sv.c (sv_2nv)
 package fred ;
@@ -129,36 +133,36 @@ sub FETCH { return undef }
 sub STORE { return 1 }
 package main ;
 tie $A, 'fred' ;
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $A *= 2 ;
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $A *= 2 ;
 EXPECT
-Use of uninitialized value at - line 9.
+Use of uninitialized value in multiplication (*) at - line 9.
 ########
 # sv.c
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $x = $y + 1 ; # f
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $x = $z + 1 ; # f
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in addition (+) at - line 3.
 ########
 # sv.c
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $x = chop undef ; # g
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $x = chop undef ; # g
 EXPECT
 Modification of a read-only value attempted at - line 3.
 ########
 # sv.c
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $x = chop $y ; # h
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $x = chop $z ; # h
 EXPECT
-Use of uninitialized value at - line 3.
+Use of uninitialized value in scalar chop at - line 3.
 ########
 # sv.c (sv_2pv)
 package fred ;
@@ -167,73 +171,73 @@ sub FETCH { return undef }
 sub STORE { return 1 }
 package main ;
 tie $A, 'fred' ;
-use warning 'uninitialized' ;
+use warnings 'uninitialized' ;
 $B = "" ;
 $B .= $A ;
-no warning 'uninitialized' ;
+no warnings 'uninitialized' ;
 $C = "" ;
 $C .= $A ;
 EXPECT
-Use of uninitialized value at - line 10.
+Use of uninitialized value in concatenation (.) or string at - line 10.
 ########
 # sv.c 
-use warning 'numeric' ;
+use warnings 'numeric' ;
 sub TIESCALAR{bless[]} ; 
 sub FETCH {"def"} ; 
 tie $a,"main" ; 
 my $b = 1 + $a;
-no warning 'numeric' ;
+no warnings 'numeric' ;
 my $c = 1 + $a;
 EXPECT
-Argument "def" isn't numeric in add at - line 6.
+Argument "def" isn't numeric in addition (+) at - line 6.
 ########
 # sv.c
-use warning 'numeric' ;
+use warnings 'numeric' ;
 my $x = 1 + "def" ;
-no warning 'numeric' ;
+no warnings 'numeric' ;
 my $z = 1 + "def" ;
 EXPECT
-Argument "def" isn't numeric in add at - line 3.
+Argument "def" isn't numeric in addition (+) at - line 3.
 ########
 # sv.c
-use warning 'numeric' ;
+use warnings 'numeric' ;
 my $a = "def" ;
 my $x = 1 + $a ;
-no warning 'numeric' ;
+no warnings 'numeric' ;
 my $y = 1 + $a ;
 EXPECT
-Argument "def" isn't numeric in add at - line 4.
+Argument "def" isn't numeric in addition (+) at - line 4.
 ########
 # sv.c
-use warning 'numeric' ; use integer ;
+use warnings 'numeric' ; use integer ;
 my $a = "def" ;
 my $x = 1 + $a ;
-no warning 'numeric' ;
+no warnings 'numeric' ;
 my $z = 1 + $a ;
 EXPECT
-Argument "def" isn't numeric in i_add at - line 4.
+Argument "def" isn't numeric in integer addition (+) at - line 4.
 ########
 # sv.c
-use warning 'numeric' ;
+use warnings 'numeric' ;
 my $x = 1 & "def" ;
-no warning 'numeric' ;
+no warnings 'numeric' ;
 my $z = 1 & "def" ;
 EXPECT
-Argument "def" isn't numeric in bit_and at - line 3.
+Argument "def" isn't numeric in bitwise and (&) at - line 3.
 ########
 # sv.c
-use warning 'redefine' ;
+use warnings 'redefine' ;
 sub fred {}  
 sub joe {} 
 *fred = \&joe ;
-no warning 'redefine' ;
+no warnings 'redefine' ;
 sub jim {} 
 *jim = \&joe ;
 EXPECT
 Subroutine fred redefined at - line 5.
 ########
 # sv.c
-use warning 'printf' ;
+use warnings 'printf' ;
 open F, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ;
 printf F "%z\n" ;
 my $a = sprintf "%z" ;
@@ -241,7 +245,7 @@ printf F "%" ;
 $a = sprintf "%" ;
 printf F "%\x02" ;
 $a = sprintf "%\x02" ;
-no warning 'printf' ;
+no warnings 'printf' ;
 printf F "%z\n" ;
 $a = sprintf "%z" ;
 printf F "%" ;
@@ -257,24 +261,43 @@ Invalid conversion in printf: end of string at - line 6.
 Invalid conversion in printf: "%\002" at - line 8.
 ########
 # sv.c
-use warning 'unsafe' ;
+use warnings 'misc' ;
 *a = undef ;
-no warning 'unsafe' ;
+no warnings 'misc' ;
 *b = undef ;
 EXPECT
 Undefined value assigned to typeglob at - line 3.
 ########
 # sv.c
-use utf8 ;
-$^W =0 ;
-{
-  use warning 'utf8' ;
-  my $a = rindex "a\xff bc ", "bc" ;
-  no warning 'utf8' ;
-  $a = rindex "a\xff bc ", "bc" ;
+use warnings 'y2k';
+use Config;
+BEGIN {
+    unless ($Config{ccflags} =~ /Y2KWARN/) {
+       print "SKIPPED\n# perl not built with -DPERL_Y2KWARN";
+       exit 0;
+    }
+    $|=1;
 }
-my $a = rindex "a\xff bc ", "bc" ;
+my $x;
+my $yy = 78;
+$x     = printf  "19%02d\n", $yy;
+$x     = sprintf "#19%02d\n", $yy;
+$x     = printf  " 19%02d\n", 78;
+$x     = sprintf "19%02d\n", 78;
+$x     = printf  "319%02d\n", $yy;
+$x     = sprintf "319%02d\n", $yy;
+no warnings 'y2k';
+$x     = printf  "19%02d\n", $yy;
+$x     = sprintf "19%02d\n", $yy;
+$x     = printf  "19%02d\n", 78;
+$x     = sprintf "19%02d\n", 78;
 EXPECT
-\xff will produce malformed UTF-8 character; use \x{ff} for that at - line 6.
-Malformed UTF-8 character at - line 6.
-Malformed UTF-8 character at - line 10.
+Possible Y2K bug: %d format string following '19' at - line 16.
+Possible Y2K bug: %d format string following '19' at - line 13.
+1978
+Possible Y2K bug: %d format string following '19' at - line 14.
+Possible Y2K bug: %d format string following '19' at - line 15.
+ 1978
+31978
+1978
+1978