1 Check FATAL functionality
5 # Check compile time warning
6 use warnings FATAL => 'syntax' ;
12 print STDERR "The End.\n" ;
14 Reversed += operator at - line 8.
17 # Check compile time warning
18 use warnings FATAL => 'all' ;
24 print STDERR "The End.\n" ;
26 Reversed += operator at - line 8.
29 # Check runtime scope of pragma
30 use warnings FATAL => 'uninitialized' ;
36 print STDERR "The End.\n" ;
38 Use of uninitialized value $b in scalar chop at - line 8.
41 # Check runtime scope of pragma
42 use warnings FATAL => 'all' ;
48 print STDERR "The End.\n" ;
50 Use of uninitialized value $b in scalar chop at - line 8.
53 # Check runtime scope of pragma
56 use warnings FATAL => 'uninitialized' ;
57 $a = sub { my $b ; chop $b ; }
60 print STDERR "The End.\n" ;
62 Use of uninitialized value $b in scalar chop at - line 6.
65 # Check runtime scope of pragma
68 use warnings FATAL => 'all' ;
69 $a = sub { my $b ; chop $b ; }
72 print STDERR "The End.\n" ;
74 Use of uninitialized value $b in scalar chop at - line 6.
81 use warnings FATAL => 'syntax' ;
88 use warnings FATAL => 'syntax' ;
98 use warnings 'syntax' ;
102 use warnings FATAL => 'uninitialized' ;
105 print STDERR "The End.\n" ;
107 Reversed += operator at ./abc line 2.
108 Use of uninitialized value $a in scalar chop at - line 3.
112 use warnings 'syntax' ;
116 use warnings FATAL => 'uninitialized' ;
119 print STDERR "The End.\n" ;
121 Reversed += operator at abc.pm line 2.
122 Use of uninitialized value $a in scalar chop at - line 3.
125 # Check scope of pragma with eval
128 use warnings FATAL => 'uninitialized' ;
130 }; print STDERR "-- $@" ;
132 print STDERR "The End.\n" ;
134 -- Use of uninitialized value $b in scalar chop at - line 6.
138 # Check scope of pragma with eval
139 use warnings FATAL => 'uninitialized' ;
142 }; print STDERR "-- $@" ;
144 print STDERR "The End.\n" ;
146 -- Use of uninitialized value $b in scalar chop at - line 5.
147 Use of uninitialized value $b in scalar chop at - line 7.
150 # Check scope of pragma with eval
151 use warnings FATAL => 'uninitialized' ;
157 print STDERR "The End.\n" ;
159 Use of uninitialized value $b in scalar chop at - line 8.
162 # Check scope of pragma with eval
165 use warnings FATAL => 'syntax' ;
167 }; print STDERR "-- $@" ;
169 print STDERR "The End.\n" ;
171 Reversed += operator at - line 6.
174 # Check scope of pragma with eval
175 use warnings FATAL => 'syntax' ;
178 }; print STDERR "-- $@" ;
180 print STDERR "The End.\n" ;
182 Reversed += operator at - line 5.
185 # Check scope of pragma with eval
186 use warnings FATAL => 'syntax' ;
192 print STDERR "The End.\n" ;
194 Reversed += operator at - line 8.
197 # Check scope of pragma with eval
200 use warnings FATAL => 'syntax' ;
203 print STDERR "The End.\n" ;
208 # Check scope of pragma with eval
211 use warnings FATAL => 'uninitialized' ;
213 ]; print STDERR "-- $@";
215 print STDERR "The End.\n" ;
217 -- Use of uninitialized value $b in scalar chop at (eval 1) line 3.
221 # Check scope of pragma with eval
222 use warnings FATAL => 'uninitialized' ;
225 '; print STDERR "-- $@" ;
227 print STDERR "The End.\n" ;
229 -- Use of uninitialized value $b in scalar chop at (eval 1) line 2.
230 Use of uninitialized value $b in scalar chop at - line 7.
233 # Check scope of pragma with eval
234 use warnings FATAL => 'uninitialized' ;
240 print STDERR "The End.\n" ;
242 Use of uninitialized value $b in scalar chop at - line 8.
245 # Check scope of pragma with eval
248 use warnings FATAL => 'syntax' ;
250 ]; print STDERR "-- $@";
252 print STDERR "The End.\n" ;
254 -- Reversed += operator at (eval 1) line 3.
258 # Check scope of pragma with eval
259 use warnings FATAL => 'syntax' ;
262 '; print STDERR "-- $@";
263 print STDERR "The End.\n" ;
265 -- Reversed += operator at (eval 1) line 2.
269 # Check scope of pragma with eval
270 use warnings FATAL => 'syntax' ;
274 '; print STDERR "-- $@";
276 print STDERR "The End.\n" ;
278 Reversed += operator at - line 8.
280 # TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
281 # SKIP ? $Config{ccflags} =~ /sanitize/
283 use warnings 'void' ;
288 use warnings FATAL => qw(void) ;
297 Useless use of time in void context at - line 4.
298 Useless use of length in void context at - line 9.
300 # TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
301 # SKIP ? $Config{ccflags} =~ /sanitize/
308 use warnings FATAL => qw(void) ;
317 Useless use of time in void context at - line 4.
318 Useless use of length in void context at - line 9.
321 use warnings FATAL => 'all';
331 print STDERR "The End.\n" ;
333 Use of uninitialized value $b in scalar chop at - line 8.
334 Use of uninitialized value $b in scalar chop at - line 11.
337 use warnings FATAL => 'all';
339 no warnings FATAL => 'all';
347 print STDERR "The End.\n" ;
349 Use of uninitialized value $b in scalar chop at - line 8.
350 Use of uninitialized value $b in scalar chop at - line 11.
353 use warnings FATAL => 'all';
355 no warnings 'syntax';
362 print STDERR "The End.\n" ;
364 Use of uninitialized value $b in scalar chop at - line 7.
367 use warnings FATAL => 'syntax', NONFATAL => 'void' ;
371 print STDERR "The End.\n" ;
373 Useless use of length in void context at - line 5.
377 use warnings FATAL => 'all', NONFATAL => 'void' ;
381 print STDERR "The End.\n" ;
383 Useless use of length in void context at - line 5.
387 use warnings FATAL => 'all', NONFATAL => 'void' ;
393 print STDERR "The End.\n" ;
395 Useless use of length in void context at - line 7.
396 Use of uninitialized value $a in scalar chomp at - line 4.
399 use warnings FATAL => 'void', NONFATAL => 'void' ;
402 print STDERR "The End.\n" ;
404 Useless use of length in void context at - line 4.
407 # TODO ? !$Config{usethreads} && $::UTF8 && ($ENV{PERL_DESTRUCT_LEVEL} || 0) > 1 ? "Parser leaks OPs, which leak shared hash keys" : ''
409 use warnings NONFATAL => 'void', FATAL => 'void' ;
412 print STDERR "The End.\n" ;
414 Useless use of length in void context at - line 4.
417 use warnings FATAL => 'all', NONFATAL => 'io';
420 open(F, "<true\ncd");
421 open(G, "<truecd\n");
422 open(H, "<truecd\n\0");
424 print STDERR "The End.\n" ;
426 Unsuccessful open on filename containing newline at - line 6.
427 Unsuccessful open on filename containing newline at - line 7.
428 close() on unopened filehandle fred at - line 8.
432 use warnings FATAL => 'all', NONFATAL => 'io', FATAL => 'unopened' ;
435 open(F, "<truecd\n");
437 print STDERR "The End.\n" ;
439 Unsuccessful open on filename containing newline at - line 5.
440 close() on unopened filehandle fred at - line 6.
443 # 'use warnings' test as the basis for the following tests
445 my $a = oct "7777777777777777777777777777777777778" ;
448 print STDERR "The End.\n" ;
450 Reversed += operator at - line 5.
451 Integer overflow in octal number at - line 4.
452 Illegal octal digit '8' ignored at - line 4.
453 Octal number > 037777777777 non-portable at - line 4.
454 Use of uninitialized value $c in scalar chop at - line 6.
458 # 'use warnings NONFATAL=>"all"' should be the same as 'use warnings'
459 use warnings NONFATAL=>"all" ;
460 my $a = oct "7777777777777777777777777777777777778" ;
463 print STDERR "The End.\n" ;
465 Reversed += operator at - line 5.
466 Integer overflow in octal number at - line 4.
467 Illegal octal digit '8' ignored at - line 4.
468 Octal number > 037777777777 non-portable at - line 4.
469 Use of uninitialized value $c in scalar chop at - line 6.
473 # 'use warnings "NONFATAL"' should be the same as 'use warnings' [perl #120977]
474 use warnings "NONFATAL" ;
475 my $a = oct "7777777777777777777777777777777777778" ;
478 print STDERR "The End.\n" ;
480 Reversed += operator at - line 5.
481 Integer overflow in octal number at - line 4.
482 Illegal octal digit '8' ignored at - line 4.
483 Octal number > 037777777777 non-portable at - line 4.
484 Use of uninitialized value $c in scalar chop at - line 6.
488 # 'use warnings "FATAL"' should be the same as 'use warnings FATAL=>"all"' [perl #120977]
489 use warnings "FATAL" ;
495 print STDERR "The End.\n" ;
497 Reversed += operator at - line 8.
500 # 'use warnings "FATAL"' should be the same as 'use warnings FATAL=>"all"' [perl #120977]
501 use warnings "FATAL" ;
504 my $a = oct "7777777777777777777777777777777777778" ;
506 my $a = oct "7777777777777777777777777777777777778" ;
507 print STDERR "The End.\n" ;
509 Integer overflow in octal number at - line 8.
512 # 'no warnings FATAL=>"all"' should be the same as 'no warnings'
515 no warnings FATAL=>"all" ;
516 my $a = oct "7777777777777777777777777777777777778" ;
521 print STDERR "The End.\n" ;
523 Reversed += operator at - line 10.
527 # 'no warnings "FATAL"' should be the same as 'no warnings' [perl #120977]
530 no warnings "FATAL" ;
531 my $a = oct "7777777777777777777777777777777777778" ;
536 print STDERR "The End.\n" ;
538 Reversed += operator at - line 10.
542 # fatal warnings shouldn't hide parse errors [perl #122966]
543 use warnings FATAL => 'all';
549 syntax error at - line 4, near "1 {"
550 "my" variable $x masks earlier declaration in same statement at - line 6.
551 syntax error at - line 7, near "}"
552 Execution of - aborted due to compilation errors.
555 # fatal warnings in DESTROY should be made non-fatal [perl #123398]
556 # This test will blow up your memory with SEGV without the patch
558 use strict; use utf8; use warnings FATAL => 'all';
560 return bless{ 'field' => undef }, 'Foo';
564 $self->{'field'}->missing_method;
570 (in cleanup) Can't call method "missing_method" on an undefined value at - line 11.