xref: /openbsd/gnu/usr.bin/perl/t/lib/warnings/pp_pack (revision fc61954a)
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
21Invalid type ',' in unpack at - line 4.
22Invalid type ',' in pack at - line 5.
23########
24# pp.c
25use warnings 'uninitialized' ;
26my $a = undef ;
27my $b = $$a;
28no warnings 'uninitialized' ;
29my $c = $$a;
30EXPECT
31Use of uninitialized value $a in scalar dereference at - line 4.
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
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.
80255
810
82255
830
84127
85-128
86127
87-128
88255
890
90255
910
92127
93-128
94127
95-128
96