Revert "pp_helem: Remove branch seemingly untaken (v2)"
authorSteffen Mueller <smueller@cpan.org>
Wed, 8 Apr 2015 20:31:41 +0000 (22:31 +0200)
committerSteffen Mueller <smueller@cpan.org>
Wed, 8 Apr 2015 20:31:41 +0000 (22:31 +0200)
This reverts commit d9dc8e0c5019810bfa3840ecadb302a2f01e01ae because it
breaks autovivification.pm. Vincent writes in a mail to p5p:

  > This is a friendly notification that this change, while
  > being correct as far as I can tell, has broken
  > autovivification.pm (the CPAN module) quite heavily.
  [...]
  > fixing the module to make it work with blead will probably
  > require a complete rewrite

So clearly, this change isn't worth having.

pp_hot.c

index 67b78f3..3165bca 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1789,7 +1789,8 @@ PP(pp_helem)
     const bool localizing = PL_op->op_private & OPpLVAL_INTRO;
     bool preeminent = TRUE;
 
-    assert(SvTYPE(hv) == SVt_PVHV);
+    if (SvTYPE(hv) != SVt_PVHV)
+       RETPUSHUNDEF;
 
     if (localizing) {
        MAGIC *mg;