summaryrefslogtreecommitdiff
path: root/op.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-04-27 16:10:37 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-04-27 16:10:37 +0000
commit741b63383b6473fc5bf0b6dda1bdea3b4455a006 (patch)
treea1471a61fb1644da3dd45e37e7ba28dbc3c424c1 /op.c
parentbe771a8335850a64de9dd531dd7856961d24c430 (diff)
downloadperl-741b63383b6473fc5bf0b6dda1bdea3b4455a006.tar.gz
avoid "will not stay shared" warnings for our variables (from
Robin Barker) p4raw-id: //depot/perl@5965
Diffstat (limited to 'op.c')
-rw-r--r--op.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/op.c b/op.c
index 711be2f6e2..7ca60aebb9 100644
--- a/op.c
+++ b/op.c
@@ -321,9 +321,12 @@ S_pad_findlex(pTHX_ char *name, PADOFFSET newoff, U32 seq, CV* startcv,
}
}
else if (!CvUNIQUE(PL_compcv)) {
- if (ckWARN(WARN_CLOSURE) && !SvFAKE(sv) && !CvUNIQUE(cv))
+ if (ckWARN(WARN_CLOSURE) && !SvFAKE(sv) && !CvUNIQUE(cv)
+ && !(SvFLAGS(sv) & SVpad_OUR))
+ {
Perl_warner(aTHX_ WARN_CLOSURE,
"Variable \"%s\" will not stay shared", name);
+ }
}
}
av_store(PL_comppad, newoff, SvREFCNT_inc(oldsv));