diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 10:41:23 -0800 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-08 11:45:02 -0800 |
commit | 85f22e05efca6c0fbc035b09cb5f0e6e1a4ca717 (patch) | |
tree | 850a3c8dba948c33ee2680eaa1ae96fabebd6e33 /opcode.h | |
parent | 9e319cc4fd53e7fda8d24a3e32cedcd89cb2f66c (diff) | |
download | perl-85f22e05efca6c0fbc035b09cb5f0e6e1a4ca717.tar.gz |
Remove OA_DANGEROUS from non-integer postdec/inc
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.
While pp_postinc may return a lexical scalar, that only happens when
the OPpTARGET_MY optimisation is happening; and aassign_common_vars in
op.c checks specifically for that.
Otherwise, it only returns a mortal or target, so it is not
OA_DANGEROUS.
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1791,10 +1791,10 @@ EXTCONST U32 PL_opargs[] = { 0x00001144, /* i_preinc */ 0x00001164, /* predec */ 0x00001144, /* i_predec */ - 0x0000117c, /* postinc */ - 0x0000115c, /* i_postinc */ - 0x0000117c, /* postdec */ - 0x0000115c, /* i_postdec */ + 0x0000113c, /* postinc */ + 0x0000111c, /* i_postinc */ + 0x0000113c, /* postdec */ + 0x0000111c, /* i_postdec */ 0x0001121e, /* pow */ 0x0001123e, /* multiply */ 0x0001121e, /* i_multiply */ |