lexical warnings; tweaks to places that didn't apply correctly
[p5sagit/p5-mst-13.2.git] / t / pragma / warn-pp
1   pp.c  TODO
2
3   substr outside of string
4     $a = "ab" ; $a = substr($a, 4,5)
5
6   Attempt to use reference as lvalue in substr 
7     $a = "ab" ; $b = \$a ;  substr($b, 1,1) = $b
8
9   uninitialized in pp_rv2gv()
10         my *b = *{ undef()}
11
12   uninitialized in pp_rv2sv()
13         my $a = undef ; my $b = $$a
14
15   Odd number of elements in hash list
16         my $a = { 1,2,3 } ;
17
18   Invalid type in unpack: '%c
19         my $A = pack ("A,A", 1,2) ;
20         my @A = unpack ("A,A", "22") ;
21
22   Attempt to pack pointer to temporary value
23         pack("p", "abc") ;
24
25   Explicit blessing to '' (assuming package main)
26         bless \[], "";
27
28   Constant subroutine %s undefined                      <<<
29   Constant subroutine (anonymous) undefined             <<<
30
31 __END__
32 # pp.c
33 use warning 'substr' ;
34 $a = "ab" ; 
35 $a = substr($a, 4,5)
36 EXPECT
37 substr outside of string at - line 4.
38 ########
39 # pp.c
40 use warning 'substr' ;
41 $a = "ab" ; 
42 $b = \$a ;  
43 substr($b, 1,1) = "ab" ;
44 EXPECT
45 Attempt to use reference as lvalue in substr at - line 5.
46 ########
47 # pp.c
48 use warning 'uninitialized' ;
49 # TODO
50 EXPECT
51
52 ########
53 # pp.c
54 use warning 'unsafe' ;
55 my $a = { 1,2,3};
56 EXPECT
57 Odd number of elements in hash assignment at - line 3.
58 ########
59 # pp.c
60 use warning 'unsafe' ;
61 my @a = unpack ("A,A", "22") ;
62 my $a = pack ("A,A", 1,2) ;
63 EXPECT
64 Invalid type in unpack: ',' at - line 3.
65 Invalid type in pack: ',' at - line 4.
66 ########
67 # pp.c
68 use warning 'uninitialized' ;
69 my $a = undef ; 
70 my $b = $$a
71 EXPECT
72 Use of uninitialized value at - line 4.
73 ########
74 # pp.c
75 use warning 'unsafe' ;
76 sub foo { my $a = "a"; return $a . $a++ . $a++ }
77 my $a = pack("p", &foo) ;
78 EXPECT
79 Attempt to pack pointer to temporary value at - line 4.
80 ########
81 # pp.c
82 use warning 'unsafe' ;
83 bless \[], "" ;
84 EXPECT
85 Explicit blessing to '' (assuming package main) at - line 3.