On Tue, Jan 07, 2003 at 06:01:49PM +0100, Rafael Garcia-Suarez wrote: > hv@crypt.org wrote: > > Thanks, the three that refer to PerlIO_printf: > > :+++ ./pad.c Wed Dec 25 21:20:45 2002 > > :@@ -878,8 +878,8 @@ Perl_intro_my(pTHX) > > :@@ -926,8 +926,8 @@ Perl_pad_leavemy(pTHX) > > :+++ ./sv.c Wed Dec 25 19:24:59 2002 > > :@@ -9359,8 +9360,9 @@ Perl_sv_dup(pTHX_ SV *sstr, CLONE_PARAMS > > > > give compiler warnings: > > pad.c: In function `Perl_intro_my': > > pad.c:878: warning: unknown conversion type character `_' in format > > pad.c:878: warning: long unsigned int format, pointer arg (arg 4) > > pad.c:878: warning: too many arguments for format > > I noticed this too (puzzling). > I also noticed that some of the %_ formats were removed to silence warnings: > http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-05/msg00642.html I'm not sure that it does remove any %_ I think that it actually replaces literal string constants "%_" with "%"SVf, where SVf is #define'ed to be "_" in perl.h (most of the time) > > I'm not quite sure why, since PerlIO_printf does not map to a system > > library call for this build; however, it would do so in some other > > cases: I think Nick I-S did whatever magic is needed to make gcc argument check it as a *printf format, and the fact that there's a warning probably means that I was wrong and you were right not to apply it. But I've not had time to look yet. Nicholas Clark