From b3fe48277ce10a58a036b1303b4d9ed1e50428b1 Mon Sep 17 00:00:00 2001 From: Robin Barker Date: Fri, 7 Sep 2001 19:28:23 +0100 Subject: Silence the remaing format warning Message-Id: <200109071728.SAA13569@tempest.npl.co.uk> p4raw-id: //depot/perl@11941 --- Porting/pumpkin.pod | 32 +++++++++++++++++++++++++------- mg.c | 2 +- perl.h | 8 ++++++++ pp_sys.c | 2 +- 4 files changed, 35 insertions(+), 9 deletions(-) diff --git a/Porting/pumpkin.pod b/Porting/pumpkin.pod index 0ef144a9f8..a816c48752 100644 --- a/Porting/pumpkin.pod +++ b/Porting/pumpkin.pod @@ -729,15 +729,33 @@ produced by this process. A more accurate approach is the following commands: - sh Configure -des -Dccflags=-Wformat ... - make miniperl # without -DCHECK_FORMAT - perl -i.orig -pwe 's/-Wformat/-DCHECK_FORMAT $&/' config.sh - sh Configure -S - make >& make.log # build from correct miniperl +=over 4 + +=item * + +build miniperl with -DCHECK_FORMAT + + make clean + make miniperl OPTIMIZE=-DCHECK_FORMAT >& mini.log + +=item * + +build a clean miniperl, +and build everything else from that with -DCHECK_FORMAT + make clean - make miniperl >& mini.log # build miniperl with -DCHECK_FORMAT - perl -nwe 'print if /^\S+:/ and not /^make\b/' mini.log make.log + make miniperl + make all OPTIMIZE=-DCHECK_FORMAT >& make.log + +=item * + +clean up, and print warnings from the log files + make clean + perl -nwe 'print if /^\S+:/ and not /^make\b/' \ + mini.log make.log + +=back (-Wformat support by Robin Barker.) diff --git a/mg.c b/mg.c index ef6963d9d3..9def37f10b 100644 --- a/mg.c +++ b/mg.c @@ -2317,7 +2317,7 @@ Perl_sighandler(int sig) (void)rsignal(sig, &Perl_csighandler); #endif #endif /* !PERL_MICRO */ - Perl_die(aTHX_ Nullch); + Perl_die(aTHX_ Nullformat); } cleanup: if (flags & 1) diff --git a/perl.h b/perl.h index 8655111f0b..0610ae796a 100644 --- a/perl.h +++ b/perl.h @@ -2020,6 +2020,14 @@ typedef pthread_key_t perl_key; # endif #endif +#ifndef Nullformat +# ifdef CHECK_FORMAT +# define Nullformat "%s","" +# else +# define Nullformat Nullch +# endif +#endif + /* Some unistd.h's give a prototype for pause() even though HAS_PAUSE ends up undefined. This causes the #define below to be rejected by the compiler. Sigh. diff --git a/pp_sys.c b/pp_sys.c index bf32b3cdcd..70b1660fcd 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -468,7 +468,7 @@ PP(pp_die) sv_setsv(error,*PL_stack_sp--); } } - DIE(aTHX_ Nullch); + DIE(aTHX_ Nullformat); } else { if (SvPOK(error) && SvCUR(error)) -- cgit v1.2.1