summaryrefslogtreecommitdiff
path: root/pp.c
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-05-05 12:48:19 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2006-05-05 12:48:19 +0000
commita59118671308b89f1214a83fc0db2e393a19affb (patch)
tree54c564f767ad68dcbdbe66a3e5560f40066dfcfb /pp.c
parent49c03c8934c87a2dcd3f60cea1f51beb84f61bd4 (diff)
downloadperl-a59118671308b89f1214a83fc0db2e393a19affb.tar.gz
Implement state array and state hashes. Initialisation assignment
to state arrays or hashes is not implemented yet. p4raw-id: //depot/perl@28106
Diffstat (limited to 'pp.c')
-rw-r--r--pp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pp.c b/pp.c
index 777c657a20..7540c9933b 100644
--- a/pp.c
+++ b/pp.c
@@ -61,7 +61,8 @@ PP(pp_padav)
dVAR; dSP; dTARGET;
I32 gimme;
if (PL_op->op_private & OPpLVAL_INTRO)
- SAVECLEARSV(PAD_SVl(PL_op->op_targ));
+ if (!(PL_op->op_private & OPpPAD_STATE))
+ SAVECLEARSV(PAD_SVl(PL_op->op_targ));
EXTEND(SP, 1);
if (PL_op->op_flags & OPf_REF) {
PUSHs(TARG);
@@ -104,7 +105,8 @@ PP(pp_padhv)
XPUSHs(TARG);
if (PL_op->op_private & OPpLVAL_INTRO)
- SAVECLEARSV(PAD_SVl(PL_op->op_targ));
+ if (!(PL_op->op_private & OPpPAD_STATE))
+ SAVECLEARSV(PAD_SVl(PL_op->op_targ));
if (PL_op->op_flags & OPf_REF)
RETURN;
else if (LVRET) {