Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Perl: porters

Perl_hv_assert and Perl_pad_sv with -UDEBUGGING

 

 

Perl porters RSS feed   Index | Next | Previous | View Threaded


craig.a.berry at gmail

Nov 20, 2009, 4:15 PM

Post #1 of 4 (314 views)
Permalink
Perl_hv_assert and Perl_pad_sv with -UDEBUGGING

These functions don't actually exist unless DEBUGGING is defined, yet
proto.h makes them visible regardless. It shouldn't, should it?


rurban at x-ray

Nov 25, 2009, 2:09 PM

Post #2 of 4 (255 views)
Permalink
Re: Perl_hv_assert and Perl_pad_sv with -UDEBUGGING [In reply to]

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().


--
Reini Urban
http://phpwiki.org/ http://murbreak.at/


craig.a.berry at gmail

Nov 28, 2009, 2:34 PM

Post #3 of 4 (234 views)
Permalink
Re: Perl_hv_assert and Perl_pad_sv with -UDEBUGGING [In reply to]

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.

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.


rurban at x-ray

Nov 28, 2009, 3:55 PM

Post #4 of 4 (233 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/

Perl porters RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.