diff options
author | Rick Delaney <rick@consumercontact.com> | 2007-10-30 13:19:40 -0700 |
---|---|---|
committer | Steve Peters <steve@fisharerojo.org> | 2008-02-13 18:39:50 +0000 |
commit | 781e3f050073176aa21ffc243184a1cb57f4ec92 (patch) | |
tree | 17bc74c72eb39bef0f518ff182db7c0e0f0549f0 /pp_hot.c | |
parent | cae86ea86570588a52f7ce8a0a01b6eb824103df (diff) | |
download | perl-781e3f050073176aa21ffc243184a1cb57f4ec92.tar.gz |
[perl #47047] Use of inherited AUTOLOAD for non-method is deprecated
From: Rick Delaney (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.6.HEAD-24634-1193800780-55.47047-75-0@perl.org>
p4raw-id: //depot/perl@33302
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -2735,9 +2735,14 @@ PP(pp_entersub) } /* should call AUTOLOAD now? */ else { -try_autoload: +try_autoload: + { + const bool is_method = cLISTOP->op_last && + (cLISTOP->op_last->op_type == OP_METHOD_NAMED || + cLISTOP->op_last->op_type == OP_METHOD); + if ((autogv = gv_autoload4(GvSTASH(gv), GvNAME(gv), GvNAMELEN(gv), - FALSE))) + is_method))) { cv = GvCV(autogv); } @@ -2747,6 +2752,7 @@ try_autoload: gv_efullname3(sub_name, gv, NULL); DIE(aTHX_ "Undefined subroutine &%"SVf" called", SVfARG(sub_name)); } + } } if (!cv) DIE(aTHX_ "Not a CODE reference"); |