Commit | Line | Data |
767a6a26 |
1 | pp_hot.c |
599cee73 |
2 | |
767a6a26 |
3 | Filehandle %s never opened [pp_print] |
599cee73 |
4 | $f = $a = "abc" ; print $f $a |
5 | |
767a6a26 |
6 | Filehandle %s opened only for input [pp_print] |
599cee73 |
7 | print STDIN "abc" ; |
8 | |
767a6a26 |
9 | Filehandle %s opened only for output [pp_print] |
af8c498a |
10 | print <STDOUT> ; |
599cee73 |
11 | |
767a6a26 |
12 | print on closed filehandle %s [pp_print] |
599cee73 |
13 | close STDIN ; print STDIN "abc" ; |
14 | |
767a6a26 |
15 | uninitialized [pp_rv2av] |
599cee73 |
16 | my $a = undef ; my @b = @$a |
17 | |
767a6a26 |
18 | uninitialized [pp_rv2hv] |
599cee73 |
19 | my $a = undef ; my %b = %$a |
20 | |
767a6a26 |
21 | Odd number of elements in hash list [pp_aassign] |
599cee73 |
22 | %X = (1,2,3) ; |
23 | |
767a6a26 |
24 | Reference found where even-sized list expected [pp_aassign] |
599cee73 |
25 | $X = [ 1 ..3 ]; |
26 | |
767a6a26 |
27 | Filehandle %s opened only for output [Perl_do_readline] |
28 | open (FH, ">./xcv") ; |
29 | my $a = <FH> ; |
30 | |
31 | glob failed (can't start child: %s) [Perl_do_readline] <<TODO |
32 | |
33 | Read on closed filehandle %s [Perl_do_readline] |
599cee73 |
34 | close STDIN ; $a = <STDIN>; |
35 | |
767a6a26 |
36 | glob failed (child exited with status %d%s) [Perl_do_readline] <<TODO |
37 | |
38 | Deep recursion on subroutine \"%s\" [Perl_sub_crush_depth] |
6bc102ca |
39 | sub fred { fred() if $a++ < 200} fred() |
599cee73 |
40 | |
767a6a26 |
41 | Deep recursion on anonymous subroutine [Perl_sub_crush_depth] |
6bc102ca |
42 | $a = sub { &$a if $a++ < 200} &$a |
599cee73 |
43 | |
6bc102ca |
44 | Possible Y2K bug: about to append an integer to '19' [pp_concat] |
45 | $x = "19$yy\n"; |
767a6a26 |
46 | |
599cee73 |
47 | __END__ |
767a6a26 |
48 | # pp_hot.c [pp_print] |
4438c4b7 |
49 | use warnings 'unopened' ; |
599cee73 |
50 | $f = $a = "abc" ; |
0453d815 |
51 | print $f $a; |
4438c4b7 |
52 | no warnings 'unopened' ; |
0453d815 |
53 | print $f $a; |
599cee73 |
54 | EXPECT |
55 | Filehandle main::abc never opened at - line 4. |
56 | ######## |
767a6a26 |
57 | # pp_hot.c [pp_print] |
4438c4b7 |
58 | use warnings 'io' ; |
599cee73 |
59 | print STDIN "anc"; |
af8c498a |
60 | print <STDOUT>; |
61 | print <STDERR>; |
62 | open(FOO, ">&STDOUT") and print <FOO>; |
63 | print getc(STDERR); |
64 | print getc(FOO); |
88c07c36 |
65 | #################################################################### |
37bd1396 |
66 | # The next test is known to fail on some systems (Linux/BSD+glibc, # |
67 | # NeXT among others. glibc should be fixed in the next version, # |
68 | # but it appears other platforms have little hope. We skip it for # |
69 | # now (on the grounds that it is "just" a warning). # |
88c07c36 |
70 | #################################################################### |
37bd1396 |
71 | #read(FOO,$_,1); |
72 | no warnings 'io' ; |
73 | print STDIN "anc"; |
599cee73 |
74 | EXPECT |
75 | Filehandle main::STDIN opened only for input at - line 3. |
af8c498a |
76 | Filehandle main::STDOUT opened only for output at - line 4. |
77 | Filehandle main::STDERR opened only for output at - line 5. |
78 | Filehandle main::FOO opened only for output at - line 6. |
79 | Filehandle main::STDERR opened only for output at - line 7. |
80 | Filehandle main::FOO opened only for output at - line 8. |
599cee73 |
81 | ######## |
767a6a26 |
82 | # pp_hot.c [pp_print] |
4438c4b7 |
83 | use warnings 'closed' ; |
599cee73 |
84 | close STDIN ; |
85 | print STDIN "anc"; |
4438c4b7 |
86 | no warnings 'closed' ; |
0453d815 |
87 | print STDIN "anc"; |
599cee73 |
88 | EXPECT |
89 | print on closed filehandle main::STDIN at - line 4. |
90 | ######## |
767a6a26 |
91 | # pp_hot.c [pp_rv2av] |
4438c4b7 |
92 | use warnings 'uninitialized' ; |
599cee73 |
93 | my $a = undef ; |
0453d815 |
94 | my @b = @$a; |
4438c4b7 |
95 | no warnings 'uninitialized' ; |
0453d815 |
96 | my @c = @$a; |
599cee73 |
97 | EXPECT |
b89fed5f |
98 | Use of uninitialized value in array dereference at - line 4. |
599cee73 |
99 | ######## |
767a6a26 |
100 | # pp_hot.c [pp_rv2hv] |
4438c4b7 |
101 | use warnings 'uninitialized' ; |
599cee73 |
102 | my $a = undef ; |
0453d815 |
103 | my %b = %$a; |
4438c4b7 |
104 | no warnings 'uninitialized' ; |
0453d815 |
105 | my %c = %$a; |
599cee73 |
106 | EXPECT |
b89fed5f |
107 | Use of uninitialized value in hash dereference at - line 4. |
599cee73 |
108 | ######## |
767a6a26 |
109 | # pp_hot.c [pp_aassign] |
4438c4b7 |
110 | use warnings 'unsafe' ; |
599cee73 |
111 | my %X ; %X = (1,2,3) ; |
4438c4b7 |
112 | no warnings 'unsafe' ; |
0453d815 |
113 | my %Y ; %Y = (1,2,3) ; |
599cee73 |
114 | EXPECT |
115 | Odd number of elements in hash assignment at - line 3. |
116 | ######## |
767a6a26 |
117 | # pp_hot.c [pp_aassign] |
4438c4b7 |
118 | use warnings 'unsafe' ; |
599cee73 |
119 | my %X ; %X = [1 .. 3] ; |
4438c4b7 |
120 | no warnings 'unsafe' ; |
0453d815 |
121 | my %Y ; %Y = [1 .. 3] ; |
599cee73 |
122 | EXPECT |
123 | Reference found where even-sized list expected at - line 3. |
124 | ######## |
767a6a26 |
125 | # pp_hot.c [Perl_do_readline] |
4438c4b7 |
126 | use warnings 'closed' ; |
599cee73 |
127 | close STDIN ; $a = <STDIN> ; |
4438c4b7 |
128 | no warnings 'closed' ; |
0453d815 |
129 | $a = <STDIN> ; |
599cee73 |
130 | EXPECT |
af8c498a |
131 | Read on closed filehandle main::STDIN at - line 3. |
599cee73 |
132 | ######## |
767a6a26 |
133 | # pp_hot.c [Perl_do_readline] |
134 | use warnings 'io' ; |
135 | my $file = "./xcv" ; unlink $file ; |
136 | open (FH, ">./xcv") ; |
137 | my $a = <FH> ; |
138 | no warnings 'io' ; |
139 | $a = <FH> ; |
140 | unlink $file ; |
141 | EXPECT |
142 | Filehandle main::FH opened only for output at - line 5. |
143 | ######## |
144 | # pp_hot.c [Perl_sub_crush_depth] |
4438c4b7 |
145 | use warnings 'recursion' ; |
599cee73 |
146 | sub fred |
147 | { |
148 | fred() if $a++ < 200 |
149 | } |
4a925ff6 |
150 | { |
151 | local $SIG{__WARN__} = sub { |
152 | die "ok\n" if $_[0] =~ /^Deep recursion on subroutine "main::fred"/ |
153 | }; |
154 | fred(); |
155 | } |
599cee73 |
156 | EXPECT |
4a925ff6 |
157 | ok |
599cee73 |
158 | ######## |
767a6a26 |
159 | # pp_hot.c [Perl_sub_crush_depth] |
4438c4b7 |
160 | no warnings 'recursion' ; |
0453d815 |
161 | sub fred |
162 | { |
163 | fred() if $a++ < 200 |
164 | } |
165 | { |
166 | local $SIG{__WARN__} = sub { |
167 | die "ok\n" if $_[0] =~ /^Deep recursion on subroutine "main::fred"/ |
168 | }; |
169 | fred(); |
170 | } |
171 | EXPECT |
172 | |
173 | ######## |
767a6a26 |
174 | # pp_hot.c [Perl_sub_crush_depth] |
4438c4b7 |
175 | use warnings 'recursion' ; |
599cee73 |
176 | $b = sub |
177 | { |
178 | &$b if $a++ < 200 |
179 | } ; |
180 | |
181 | &$b ; |
182 | EXPECT |
183 | Deep recursion on anonymous subroutine at - line 5. |
0453d815 |
184 | ######## |
767a6a26 |
185 | # pp_hot.c [Perl_sub_crush_depth] |
4438c4b7 |
186 | no warnings 'recursion' ; |
0453d815 |
187 | $b = sub |
188 | { |
189 | &$b if $a++ < 200 |
190 | } ; |
191 | |
192 | &$b ; |
193 | EXPECT |
6bc102ca |
194 | ######## |
195 | # pp_hot.c [pp_concat] |
196 | use warnings 'misc'; |
197 | use Config; |
198 | BEGIN { |
199 | unless ($Config{ccflags} =~ /Y2KWARN/) { |
200 | print "SKIPPED\n# perl not built with -DPERL_Y2KWARN"; |
201 | exit 0; |
202 | } |
203 | } |
204 | my $x; |
205 | my $yy = 78; |
206 | $x = "19$yy\n"; |
207 | $x = "19" . $yy . "\n"; |
208 | $x = "319$yy\n"; |
209 | $x = "319" . $yy . "\n"; |
210 | no warnings 'misc'; |
211 | $x = "19$yy\n"; |
212 | $x = "19" . $yy . "\n"; |
213 | EXPECT |
214 | Possible Y2K bug: about to append an integer to '19' at - line 12. |
215 | Possible Y2K bug: about to append an integer to '19' at - line 13. |