
rurban at x-ray
Nov 28, 2009, 3:55 PM
Post #4 of 4
(232 views)
Permalink
|
|
Re: Perl_hv_assert and Perl_pad_sv with -UDEBUGGING
[In reply to]
|
|
2009/11/28 Craig A. Berry <craig.a.berry [at] gmail>: > On Wed, Nov 25, 2009 at 4:09 PM, Reini Urban <rurban [at] x-ray> wrote: >> 2009/11/21 Craig A. Berry <craig.a.berry [at] gmail>: >>> These functions don't actually exist unless DEBUGGING is defined, yet >>> proto.h makes them visible regardless. It shouldn't, should it? >> >> Perl_pad_sv() is needed by some B module (B::C in detail), >> but I never had Perl_hv_assert(). > > OK, thanks, but that wasn't exactly what I asked. Perl_pad_sv() was > removed in the absence of -DDEBUGGING quite some time ago: > > http://perl5.git.perl.org/perl.git/commit/fb8a983643e8a4ec3e57626fb8754442ebe19278?f=pad.c > > So if B::C needs Perl_pad_sv(), it's also needed -DDEBUGGING since way > before 5.10.0. Yes. This is how we use it. I misunderstood you. > The problem I ran into is that I got linker errors because these two > functions were not present without DEBUGGING but were advertised in > proto.h as if they were. So I changed proto.h to match the reality: > > http://perl5.git.perl.org/perl.git/commitdiff/c35076938c7236fb2aaabecd40e3a5a444c3be77 > > If that's not the right thing to do for some reason, I would be happy > to hear why. I agree with your change. -- Reini Urban http://phpwiki.org/ http://murbreak.at/
|