summaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-11-08 12:37:43 -0800
committerFather Chrysostomos <sprout@cpan.org>2014-11-08 16:06:43 -0800
commitaafd37e70de747bdeaa820466cb60c553c54882e (patch)
treebb777c8c9047ba60da67f59bb4e8ad282e17b41c /opcode.h
parentf39944c15e410735fc6ec1ad2f9dfa84ea4e409d (diff)
downloadperl-aafd37e70de747bdeaa820466cb60c553c54882e.tar.gz
Remove OA_DANGEROUS from cond_expr
OA_DANGEROUS indicates that temporary copies may need to be made in list assignment, to handle things like: ($a, $b) = ($b, $a); In other words, an op type is flagged with OA_DANGEROUS if its return values could occur elsewhere on the stack. ?: always returns one of its arguments. Since aassign_common_vars, which does the danger check, also checks the kids of the cond_expr op, it is not necessary for cond_expr to be flagged this way.
Diffstat (limited to 'opcode.h')
-rw-r--r--opcode.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/opcode.h b/opcode.h
index 6e9c17a2ac..3e4befe0d9 100644
--- a/opcode.h
+++ b/opcode.h
@@ -1911,7 +1911,7 @@ EXTCONST U32 PL_opargs[] = {
0x00000300, /* or */
0x00011206, /* xor */
0x00000300, /* dor */
- 0x00000340, /* cond_expr */
+ 0x00000300, /* cond_expr */
0x00000304, /* andassign */
0x00000304, /* orassign */
0x00000304, /* dorassign */