  sv.c	

  warn(warn_uninit);

  warn(warn_uninit);

  warn(warn_uninit);

  warn(warn_uninit);

  not_a_number(sv);

  not_a_number(sv);

  warn(warn_uninit);

  not_a_number(sv);

  warn(warn_uninit);

  not_a_number(sv);

  not_a_number(sv);

  warn(warn_uninit);

  warn(warn_uninit);

  Subroutine %s redefined	

  Invalid conversion in %s:

  Undefined value assigned to typeglob

  Reference is already weak			[Perl_sv_rvweaken] <<TODO

  Mandatory Warnings
  ------------------
  Malformed UTF-8 character [sv_pos_b2u] (not tested: difficult to produce
                                          with perl now)

  Mandatory Warnings TODO
  ------------------
    Attempt to free non-arena SV: 0x%lx		[del_sv]
    Reference miscount in sv_replace()		[sv_replace]
    Attempt to free unreferenced scalar		[sv_free]
    Attempt to free temp prematurely: SV 0x%lx	[sv_free]
    semi-panic: attempt to dup freed string	[newSVsv]
    

__END__
# sv.c
use integer ;
use warnings 'uninitialized' ; our (@a, @b);
my $x = 1 + @a[?0] ; # a
no warnings 'uninitialized' ;
$x = 1 + @b[?0] ; # a
EXPECT
Use of uninitialized value @main::a[0] in integer addition (+) at - line 4 character 11.
########
# sv.c
use integer ;
use warnings 'uninitialized' ;
my $x *= 2 ; #b 
no warnings 'uninitialized' ;
my $y *= 2 ; #b 
EXPECT
Use of uninitialized value $x in integer multiplication (*) at - line 4 character 7.
########
# sv.c
use warnings 'uninitialized' ;
my $Y = 1 ;  our @a;
my $x = 1 ^|^ @a[?$Y] ;
no warnings 'uninitialized' ;
my $Y = 1 ; our @b;
$x = 1 ^|^ @b[?$Y] ;
EXPECT
Use of uninitialized value within @main::a in bitwise or (^|^) at - line 4 character 11.
########
# sv.c
use warnings 'uninitialized' ;
my $Y = 1 ; our @a;
my $x = 1 ^&^ @a[?$Y] ;
no warnings 'uninitialized' ;
my $Y = 1 ; our @b;
$x = 1 ^&^ @b[?$Y] ;
EXPECT
Use of uninitialized value within @main::a in bitwise and (^&^) at - line 4 character 11.
########
# sv.c
use warnings 'uninitialized' ;
my $Y = 1 ;  our @a;
my $x = ^~^@a[?$Y] ;
no warnings 'uninitialized' ;
my $Y = 1 ;  our @b;
$x = ^~^@b[?$Y] ;
EXPECT
Use of uninitialized value within @main::a in 1's complement (^~^) at - line 4 character 9.
########
# sv.c
use warnings 'uninitialized' ;
my $x *= 1 ; # d
no warnings 'uninitialized' ;
my $y *= 1 ; # d
EXPECT
Use of uninitialized value $x in multiplication (*) at - line 3 character 7.
########
# sv.c
use warnings 'uninitialized' ; our (@a, @b);
my $x = 1 + @a[?0] ; # e
no warnings 'uninitialized' ;
$x = 1 + @b[?0] ; # e
EXPECT
Use of uninitialized value @main::a[0] in addition (+) at - line 3 character 11.
########
# sv.c
use warnings 'uninitialized' ;
my $x = my $y + 1 ; # f
no warnings 'uninitialized' ;
$x = my $z + 1 ; # f
EXPECT
Use of uninitialized value $y in addition (+) at - line 3 character 15.
########
# sv.c
use warnings 'uninitialized' ;
my $x = chop undef ; # g
no warnings 'uninitialized' ;
$x = chop undef ; # g
EXPECT
Modification of a read-only value attempted at - line 3 character 9.
########
# sv.c
use warnings 'uninitialized' ;
my $x = chop my $y ; # h
no warnings 'uninitialized' ;
$x = chop my $z ; # h
EXPECT
Use of uninitialized value $y in chop at - line 3 character 9.
########
# perlbug 20011116.125
use warnings 'uninitialized';
$a = undef;
my $foo = join '', @($a, "\n");
$foo = "$a\n";
$foo = "a:$a\n";
EXPECT
Use of uninitialized value $main::a in join or string at - line 4 character 11.
Use of uninitialized value $main::a in concatenation (.) or string at - line 5 character 11.
Use of uninitialized value $main::a in concatenation (.) or string at - line 6 character 11.
########
# sv.c
use warnings 'numeric' ;
my $x = 1 + "def" ;
no warnings 'numeric' ;
my $z = 1 + "def" ;
EXPECT
Argument "def" isn't numeric in addition (+) at - line 3 character 11.
########
# sv.c
use warnings 'numeric' ;
my $a = "def" ;
my $x = 1 + $a ;
no warnings 'numeric' ;
my $y = 1 + $a ;
EXPECT
Argument "def" isn't numeric in addition (+) at - line 4 character 11.
########
# sv.c
use warnings 'numeric' ; use integer ;
my $a = "def" ;
my $x = 1 + $a ;
no warnings 'numeric' ;
my $z = 1 + $a ;
EXPECT
Argument "def" isn't numeric in integer addition (+) at - line 4 character 11.
########
# sv.c
use warnings 'numeric' ;
my $x = 1 ^&^ "def" ;
no warnings 'numeric' ;
my $z = 1 ^&^ "def" ;
EXPECT
Argument "def" isn't numeric in bitwise and (^&^) at - line 3 character 11.
########
# sv.c
use warnings 'numeric' ;
my $x = pack i => "def" ;
no warnings 'numeric' ;
my $z = pack i => "def" ;
EXPECT
Argument "def" isn't numeric in pack at - line 3 character 9.
########
# sv.c
use warnings 'numeric' ; 
my $a = "d\0f" ;
my $x = 1 + $a ;
no warnings 'numeric' ;
my $z = 1 + $a ;
EXPECT
Argument "d\x{0}f" isn't numeric in addition (+) at - line 4 character 11.
########
# sv.c
use warnings 'redefine' ;
sub fred {}  
sub joe {} 
*fred = \&joe ;
no warnings 'redefine' ;
sub jim {} 
*jim = \&joe ;
EXPECT
Subroutine main::fred redefined at - line 5 character 1.
########
# sv.c
use warnings 'printf' ;
open my $f, ">", ($^OS_NAME eq 'VMS' ?? 'NL:' !! '/dev/null') ;
printf $f, "\%z\n" ;
my $a = sprintf "\%z" ;
printf $f, "\%" ;
$a = sprintf "\%" ;
printf $f, "\%\x{02}" ;
$a = sprintf "\%\x{02}" ;
no warnings 'printf' ;
printf $f, "\%z\n" ;
$a = sprintf "\%z" ;
printf $f, "\%" ;
$a = sprintf "\%" ;
printf $f, "\%\x{02}" ;
$a = sprintf "\%\x{02}" ;
EXPECT
Invalid conversion in printf: "%z" at - line 4 character 1.
Invalid conversion in sprintf: "%z" at - line 5 character 9.
Invalid conversion in printf: end of string at - line 6 character 1.
Invalid conversion in sprintf: end of string at - line 7 character 6.
Invalid conversion in printf: "%\002" at - line 8 character 1.
Invalid conversion in sprintf: "%\002" at - line 9 character 6.
########
# sv.c
use warnings 'misc' ;
*a = undef ;
no warnings 'misc' ;
*b = undef ;
EXPECT
Undefined value assigned to typeglob at - line 3 character 1.
########
# sv.c
use warnings 'numeric' ;
use utf8;
$a = "\x{100}\x{200}" * 42;
no warnings 'numeric' ;
$a = "\x{100}\x{200}" * 42;
EXPECT
Argument "\x{100}\x{200}" isn't numeric in multiplication (*) at - line 4 character 23.
########
# TODO numeric negation.
# sv.c
use warnings 'numeric' ;
use utf8;
$a = "\x{100}\x{200}"; $a = -$a;
no warnings 'numeric' ;
$a = "\x{100}\x{200}"; $a = -$a;
EXPECT
Argument "\x{100}\x{200}" isn't numeric in negation (-) at - line 4.
########
