This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Re: [PATCH warnings, perldiag] document diagnostics
[perl5.git] / t / lib / warnings / pp_pack
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
12 use warnings 'pack' ;
13 use warnings 'unpack' ;
14 my @a = unpack ("A,A", "22") ;
15 my $a = pack ("A,A", 1,2) ;
16 no warnings 'pack' ;
17 no warnings 'unpack' ;
18 my @b = unpack ("A,A", "22") ;
19 my $b = pack ("A,A", 1,2) ;
20 EXPECT
21 Invalid type in unpack: ',' at - line 4.
22 Invalid type in pack: ',' at - line 5.
23 ########
24 # pp.c
25 use warnings 'uninitialized' ;
26 my $a = undef ; 
27 my $b = $$a;
28 no warnings 'uninitialized' ;
29 my $c = $$a;
30 EXPECT
31 Use of uninitialized value in scalar dereference at - line 4.
32 ########
33 # pp_pack.c
34 use warnings 'pack' ;
35 sub foo { my $a = "a"; return $a . $a++ . $a++ }
36 my $a = pack("p", &foo) ;
37 no warnings 'pack' ;
38 my $b = pack("p", &foo) ;
39 EXPECT
40 Attempt to pack pointer to temporary value at - line 4.
41 ########
42 # pp.c
43 use warnings 'misc' ;
44 bless \[], "" ;
45 no warnings 'misc' ;
46 bless \[], "" ;
47 EXPECT
48 Explicit blessing to '' (assuming package main) at - line 3.
49 ########
50 # pp.c
51 use utf8 ;
52 $_ = "\x80  \xff" ;
53 reverse ;
54 EXPECT
55 ########
56 # pp_pack.c
57 use warnings 'pack' ;
58 print 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";
66 no warnings 'pack' ;
67 print unpack("C", pack("C",   -1)), "\n";
68 print unpack("C", pack("C",    0)), "\n";
69 print unpack("C", pack("C",  255)), "\n";
70 print unpack("C", pack("C",  256)), "\n";
71 print unpack("c", pack("c", -129)), "\n";
72 print unpack("c", pack("c", -128)), "\n";
73 print unpack("c", pack("c",  127)), "\n";
74 print unpack("c", pack("c",  128)), "\n";
75 EXPECT
76 Character in "C" format wrapped at - line 3.
77 Character in "C" format wrapped at - line 3.
78 Character in "c" format wrapped at - line 3.
79 Character in "c" format wrapped at - line 3.
80 255
81 0
82 255
83 0
84 127
85 -128
86 127
87 -128
88 255
89 0
90 255
91 0
92 127
93 -128
94 127
95 -128