From 40db782073c06f0dfc90fe019f9d18be07ff893b Mon Sep 17 00:00:00 2001 From: Reini Urban Date: Wed, 21 Dec 2011 09:33:49 -0600 Subject: [PATCH] fixed issue 83: Added Internals::hv_clear_placeholders XS name exception similar to version::, see universal.c:struct xsub_details details[] --- Changes | 2 ++ lib/B/C.pm | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 78fab3e51..53d641e4e 100644 --- a/Changes +++ b/Changes @@ -14,6 +14,8 @@ New debug option -Dr "runtime" to add debug output to the .c code (as in CC) New option -Upackage to skip package, mark_skip() Re-implemented sharepvn via share_hek() and SvLEN=0 (71) + Added Internals::hv_clear_placeholders XS name exception, similar + to version:: (issue 83) * CC (1.12) allow overriding of -f B::C flags * perlcc (2.13): added options -O1-4, -u, -U, --Wc, --Wl, --version, Keep cfile if output is empty, diff --git a/lib/B/C.pm b/lib/B/C.pm index 4a3b84af5..036fc2821 100644 --- a/lib/B/C.pm +++ b/lib/B/C.pm @@ -2420,7 +2420,7 @@ sub B::CV::save { my $xsstash = $stashname; $xsstash =~ s/::/_/g; my $xs = "XS_${xsstash}_${cvname}"; - if ($stashname eq 'version') { + if ($stashname eq 'version') { # exceptions see universal.c:struct xsub_details details[] my %vtrans = ('()' => 'noop', 'parse' => 'new', '(""' => 'stringify', @@ -2435,6 +2435,9 @@ sub B::CV::save { $xs = "XS_${xsstash}_".$vtrans{$cvname}; } } + if ($fullname eq 'Internals::hv_clear_placeholders') { + $xs = 'XS_Internals_hv_clear_placehold'; + } warn sprintf( "core XSUB $xs CV 0x%x\n", $$cv ) if $debug{cv}; if (!$ENV{DL_NOWARN} and $stashname eq 'DynaLoader' and $] >= 5.015002 and $] < 5.015004) { @@ -4636,7 +4639,7 @@ sub add_hashINC { if (-e $p) { $INC{$incpack} = $p; last; } } $INC{$incpack} = $incpack unless $INC{$incpack}; - } + } } }