Change 20606 by [EMAIL PROTECTED] on 2003/08/10 20:43:47

        Integrate:
        [ 20604]
        Clarify the format checking instructions.
        
        [ 20605]
        gcc -ansi -pedantic cleanup; and a seemingly forgotten
        sv_placeholder hunk.

Affected files ...

... //depot/maint-5.8/perl/Porting/pumpkin.pod#5 integrate
... //depot/maint-5.8/perl/perl.h#47 integrate
... //depot/maint-5.8/perl/sv.h#17 integrate

Differences ...

==== //depot/maint-5.8/perl/Porting/pumpkin.pod#5 (text) ====
Index: perl/Porting/pumpkin.pod
--- perl/Porting/pumpkin.pod#4~19400~   Sun May  4 01:29:43 2003
+++ perl/Porting/pumpkin.pod    Sun Aug 10 13:43:47 2003
@@ -733,11 +733,13 @@
 
 =item CHECK_FORMAT
 
-To test the correct use of printf-style arguments, C<Configure> with
-S<-Dccflags='-DCHECK_FORMAT -Wformat'> and run C<make>.  The compiler
-will produce warning of incorrect use of format arguments.  CHECK_FORMAT
-changes perl-defined formats to common formats, so DO NOT USE the executable
-produced by this process. 
+If you have gcc, you can test the correct use of printf-style
+arguments.  Run C<Configure> with S<-Dccflags='-DCHECK_FORMAT
+-Wformat'> (and S<-Dcc=gcc>, if you are not on a system where C<cc>
+is C<gcc>) and run C<make>.  The compiler will produce warnings of
+incorrect use of format arguments.  CHECK_FORMAT changes perl-defined
+formats to common formats, so DO NOT USE the executable produced by
+this process.
 
 A more accurate approach is the following commands:
 

==== //depot/maint-5.8/perl/perl.h#47 (text) ====
Index: perl/perl.h
--- perl/perl.h#46~20493~       Tue Aug  5 01:43:49 2003
+++ perl/perl.h Sun Aug 10 13:43:47 2003
@@ -225,6 +225,10 @@
 #  endif
 #endif
 
+#if defined(__STRICT_ANSI__) && defined(PERL_GCC_PEDANTIC)
+#   define PERL_GCC_BRACE_GROUPS_FORBIDDEN
+#endif
+
 /*
  * STMT_START { statements; } STMT_END;
  * can be used as a single statement, as in
@@ -233,7 +237,7 @@
  * Trying to select a version that gives no warnings...
  */
 #if !(defined(STMT_START) && defined(STMT_END))
-# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC) && 
!defined(__cplusplus)
+# if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && 
!defined(__cplusplus)
 #   define STMT_START  (void)( /* gcc supports ``({ STATEMENTS; })'' */
 #   define STMT_END    )
 # else

==== //depot/maint-5.8/perl/sv.h#17 (text) ====
Index: perl/sv.h
--- perl/sv.h#16~19400~ Sun May  4 01:29:43 2003
+++ perl/sv.h   Sun Aug 10 13:43:47 2003
@@ -550,7 +550,7 @@
 #define SvNIOK_off(sv)         (SvFLAGS(sv) &= ~(SVf_IOK|SVf_NOK| \
                                                  SVp_IOK|SVp_NOK|SVf_IVisUV))
 
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
 #define assert_not_ROK(sv)     ({assert(!SvROK(sv) || !SvRV(sv))}),
 #else
 #define assert_not_ROK(sv)     
@@ -1020,7 +1020,7 @@
 #define SvPVutf8x_force(sv, lp) sv_pvutf8n_force(sv, &lp)
 #define SvPVbytex_force(sv, lp) sv_pvbyten_force(sv, &lp)
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
 
 #  define SvIVx(sv) ({SV *nsv = (SV*)(sv); SvIV(nsv); })
 #  define SvUVx(sv) ({SV *nsv = (SV*)(sv); SvUV(nsv); })
@@ -1229,7 +1229,7 @@
 #define SvPEEK(sv) ""
 #endif
 
-#define SvIMMORTAL(sv) ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no)
+#define SvIMMORTAL(sv) ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no || 
(sv)==&PL_sv_placeholder)
 
 #define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
 
End of Patch.

Reply via email to