summaryrefslogtreecommitdiff
path: root/embed.h
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2014-10-02 12:44:19 -0700
committerFather Chrysostomos <sprout@cpan.org>2014-10-02 14:40:21 -0700
commitc997e36218768fb357b1f3d160131f259311e3a3 (patch)
tree75b702930bf19281553b8ddac1eaea9268cdc054 /embed.h
parentfda8e777fa2df245de209839b8b21252b2f12c47 (diff)
downloadperl-c997e36218768fb357b1f3d160131f259311e3a3.tar.gz
Make list assignment respect foreach aliasing
See ff2a62e0c8 for the explanation. The bug fix in that commit did not apply to foreach’s aliasing. In short, ($a,$b)=($c,$d) needs to account for whether two of those variable names could be referring to the same variable. This commit causes the test suite to exercise a code path in scope.c added by ff2a62e0c8, which turned out to be buggy. (I forgot to test it at the time.)
Diffstat (limited to 'embed.h')
-rw-r--r--embed.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/embed.h b/embed.h
index ed04c7c28f..ebb1e9f15f 100644
--- a/embed.h
+++ b/embed.h
@@ -1283,6 +1283,7 @@
#define rsignal_restore(a,b) Perl_rsignal_restore(aTHX_ a,b)
#define rsignal_save(a,b,c) Perl_rsignal_save(aTHX_ a,b,c)
#define rxres_save(a,b) Perl_rxres_save(aTHX_ a,b)
+#define save_aliased_sv(a) Perl_save_aliased_sv(aTHX_ a)
#define save_strlen(a) Perl_save_strlen(aTHX_ a)
#define sawparens(a) Perl_sawparens(aTHX_ a)
#define scalar(a) Perl_scalar(aTHX_ a)