Re: plperl compiler warning

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Joe Conway <mail@joeconway.com>
Cc: Tim Bunce <Tim.Bunce@pobox.com>, "Hackers (PostgreSQL)" <pgsql-hackers@postgresql.org>
Date: 2010-01-28T17:49:20Z
Lists: pgsql-hackers
Joe Conway <mail@joeconway.com> writes:
> I pull directly from CVS, not git, but in any case my line 1117 is
>       subref = newRV_inc((SV*)GvCVu((GV*)sub_glob));
> so it appears to be the same

>> What perl version are you using?
>> What compiler version are you using?
> I'm on stock Fedora 12:

I see the same on Fedora 11.  The -E expansion of the line in question is

   subref = Perl_newRV(((PerlInterpreter *)pthread_getspecific((*Perl_Gthr_key_ptr(((void *)0))))), (SV*)((((GV*)sub_glob)->sv_u.svu_gp)->gp_cvgen ? ((void *)0) : (((GV*)sub_glob)->sv_u.svu_gp)->gp_cv));

so it's evidently unhappy about the fact that GvCVu can return null,
while Perl_newRV is declared __attribute__((nonnull(2))).

It looks to me like this is probably a live bug not just compiler
hypersensitivity.

			regards, tom lane