fix category on "Statement unlikely to be reached"
authorRicardo Signes <rjbs@cpan.org>
Wed, 12 Jun 2013 19:13:52 +0000 (15:13 -0400)
committerRicardo Signes <rjbs@cpan.org>
Fri, 14 Jun 2013 01:42:44 +0000 (21:42 -0400)
The warning is documented as an "exec" category warning, but the
implementation mixes checking for exec and syntax.  This makes
only the exec category apply.

op.c
t/lib/warnings/doio
t/lib/warnings/op

index 516a713..a89e814 100644 (file)
--- a/op.c
+++ b/op.c
@@ -1735,7 +1735,7 @@ S_finalize_op(pTHX_ OP* o)
     case OP_EXEC:
        if ( o->op_sibling
            && (o->op_sibling->op_type == OP_NEXTSTATE || o->op_sibling->op_type == OP_DBSTATE)
-           && ckWARN(WARN_SYNTAX))
+           && ckWARN(WARN_EXEC))
            {
                if (o->op_sibling->op_sibling) {
                    const OPCODE type = o->op_sibling->op_sibling->op_type;
index 37b55e3..804161e 100644 (file)
@@ -187,6 +187,8 @@ no warnings 'io' ;
 exec "lskdjfalksdjfdjfkls","" ;
 EXPECT
 OPTION regex
+Statement unlikely to be reached at - line .+
+       \(Maybe you meant system\(\) when you said exec\(\)\?\)
 Can't exec "lskdjfalksdjfdjfkls": .+
 ########
 # doio.c [Perl_do_exec3]
@@ -196,6 +198,8 @@ no warnings 'io' ;
 exec "lskdjfalksdjfdjfkls", "abc" ;
 EXPECT
 OPTION regex
+Statement unlikely to be reached at - line .+
+       \(Maybe you meant system\(\) when you said exec\(\)\?\)
 Can't exec "lskdjfalksdjfdjfkls(:? abc)?": .+
 ########
 # doio.c [win32_execvp]
index 83d3705..da550a3 100644 (file)
@@ -852,7 +852,7 @@ EXPECT
 Hash %FRED missing the % in argument 1 of keys() at - line 2.
 ########
 # op.c
-use warnings 'syntax' ;
+use warnings 'exec' ;
 exec "$^X -e 1" ; 
 my $a
 EXPECT
@@ -860,7 +860,7 @@ Statement unlikely to be reached at - line 4.
        (Maybe you meant system() when you said exec()?)
 ########
 # op.c, no warning if exec isn't a statement.
-use warnings 'syntax' ;
+use warnings 'exec' ;
 $a || exec "$^X -e 1" ;
 my $a
 EXPECT
@@ -896,7 +896,7 @@ defined(%hash) is deprecated at - line 2.
        (Maybe you should just omit the defined()?)
 ########
 # op.c
-no warnings 'syntax' ;
+no warnings 'exec' ;
 exec "$^X -e 1" ; 
 my $a
 EXPECT