This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Preserve 64-bit array offsets in uninit warnings
[perl5.git] / t / lib / warnings / pp_pack
CommitLineData
533367d8
JH
1 pp.c TODO
2
3 Invalid type in unpack: '%c
4 my $A = pack ("A,A", 1,2) ;
5 my @A = unpack ("A,A", "22") ;
6
7 Attempt to pack pointer to temporary value
8 pack("p", "abc") ;
9
10__END__
11# pp_pack.c
12use warnings 'pack' ;
13use warnings 'unpack' ;
14my @a = unpack ("A,A", "22") ;
15my $a = pack ("A,A", 1,2) ;
16no warnings 'pack' ;
17no warnings 'unpack' ;
18my @b = unpack ("A,A", "22") ;
19my $b = pack ("A,A", 1,2) ;
20EXPECT
49704364
WL
21Invalid type ',' in unpack at - line 4.
22Invalid type ',' in pack at - line 5.
533367d8
JH
23########
24# pp.c
25use warnings 'uninitialized' ;
26my $a = undef ;
27my $b = $$a;
28no warnings 'uninitialized' ;
29my $c = $$a;
30EXPECT
29489e7c 31Use of uninitialized value $a in scalar dereference at - line 4.
533367d8
JH
32########
33# pp_pack.c
34use warnings 'pack' ;
35sub foo { my $a = "a"; return $a . $a++ . $a++ }
36my $a = pack("p", &foo) ;
37no warnings 'pack' ;
38my $b = pack("p", &foo) ;
39EXPECT
40Attempt to pack pointer to temporary value at - line 4.
41########
42# pp.c
43use warnings 'misc' ;
44bless \[], "" ;
45no warnings 'misc' ;
46bless \[], "" ;
47EXPECT
48Explicit blessing to '' (assuming package main) at - line 3.
49########
50# pp.c
51use utf8 ;
52$_ = "\x80 \xff" ;
53reverse ;
54EXPECT
55########
56# pp_pack.c
57use warnings 'pack' ;
58print unpack("C", pack("C", -1)), "\n",
59 unpack("C", pack("C", 0)), "\n",
60 unpack("C", pack("C", 255)), "\n",
61 unpack("C", pack("C", 256)), "\n",
62 unpack("c", pack("c", -129)), "\n",
63 unpack("c", pack("c", -128)), "\n",
64 unpack("c", pack("c", 127)), "\n",
65 unpack("c", pack("c", 128)), "\n";
66no warnings 'pack' ;
67print unpack("C", pack("C", -1)), "\n";
68print unpack("C", pack("C", 0)), "\n";
69print unpack("C", pack("C", 255)), "\n";
70print unpack("C", pack("C", 256)), "\n";
71print unpack("c", pack("c", -129)), "\n";
72print unpack("c", pack("c", -128)), "\n";
73print unpack("c", pack("c", 127)), "\n";
74print unpack("c", pack("c", 128)), "\n";
75EXPECT
49704364
WL
76Character in 'C' format wrapped in pack at - line 3.
77Character in 'C' format wrapped in pack at - line 3.
78Character in 'c' format wrapped in pack at - line 3.
79Character in 'c' format wrapped in pack at - line 3.
533367d8
JH
80255
810
82255
830
84127
85-128
86127
87-128
88255
890
90255
910
92127
93-128
94127
95-128