summaryrefslogtreecommitdiff
path: root/toke.c
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2010-11-30 05:54:23 -0800
committerFather Chrysostomos <sprout@cpan.org>2010-11-30 08:43:28 -0800
commit6b7c6d9593471bad3cd6ea2eb3e51ebf08acad3a (patch)
tree5e1f08931d926c67334b73e06a730d049533a0ed /toke.c
parentd9a4b459f94297889956ac3adc42707365f274c2 (diff)
downloadperl-6b7c6d9593471bad3cd6ea2eb3e51ebf08acad3a.tar.gz
[perl #77762] Constant assignment warning
With this patch: $ ./perl -we 'sub A () {1}; if (0) {my $foo = A or die}' $ ./perl -we 'sub A () {1}; if (0) {my $foo = 1 or die}' Found = in conditional, should be == at -e line 1. Since the value of a constant may not be known at the time the program is written, it should be perfectly acceptable to do a constant assign- ment in a conditional.
Diffstat (limited to 'toke.c')
-rw-r--r--toke.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/toke.c b/toke.c
index 476b331043..aa1f57c880 100644
--- a/toke.c
+++ b/toke.c
@@ -6514,6 +6514,7 @@ Perl_yylex(pTHX)
SvREFCNT_dec(((SVOP*)pl_yylval.opval)->op_sv);
((SVOP*)pl_yylval.opval)->op_sv = SvREFCNT_inc_simple(sv);
pl_yylval.opval->op_private = 0;
+ pl_yylval.opval->op_flags |= OPf_SPECIAL;
TOKEN(WORD);
}