diff options
author | Chip Salzenberg <chip@perl.com> | 1997-03-07 03:46:37 +1200 |
---|---|---|
committer | Chip Salzenberg <chip@atlantic.net> | 1997-03-07 04:01:12 +1200 |
commit | d83e6520878f26ddb2592ab5b8b67eb482e51ea6 (patch) | |
tree | e05d3759566da0d7e57fc52c34bd01393908695a | |
parent | f80924e7bd8c4d7568804ea1ad8e9f6ad1b28f8f (diff) | |
download | perl-d83e6520878f26ddb2592ab5b8b67eb482e51ea6.tar.gz |
Warn on %{+undef} and @{+undef}
-rw-r--r-- | pp.c | 4 | ||||
-rw-r--r-- | pp_hot.c | 7 |
2 files changed, 8 insertions, 3 deletions
@@ -139,6 +139,8 @@ PP(pp_rv2gv) if (op->op_flags & OPf_REF || op->op_private & HINT_STRICT_REFS) DIE(no_usym, "a symbol"); + if (dowarn) + warn(warn_uninit); RETSETUNDEF; } sym = SvPV(sv, na); @@ -181,6 +183,8 @@ PP(pp_rv2sv) if (op->op_flags & OPf_REF || op->op_private & HINT_STRICT_REFS) DIE(no_usym, "a SCALAR"); + if (dowarn) + warn(warn_uninit); RETSETUNDEF; } sym = SvPV(sv, na); @@ -412,7 +412,6 @@ PP(pp_print) PP(pp_rv2av) { dSP; dPOPss; - AV *av; if (SvROK(sv)) { @@ -450,6 +449,8 @@ PP(pp_rv2av) if (op->op_flags & OPf_REF || op->op_private & HINT_STRICT_REFS) DIE(no_usym, "an ARRAY"); + if (dowarn) + warn(warn_uninit); if (GIMME == G_ARRAY) RETURN; RETPUSHUNDEF; @@ -487,9 +488,7 @@ PP(pp_rv2av) PP(pp_rv2hv) { - dSP; dTOPss; - HV *hv; if (SvROK(sv)) { @@ -527,6 +526,8 @@ PP(pp_rv2hv) if (op->op_flags & OPf_REF || op->op_private & HINT_STRICT_REFS) DIE(no_usym, "a HASH"); + if (dowarn) + warn(warn_uninit); if (GIMME == G_ARRAY) { SP--; RETURN; |