Change 33866 by [EMAIL PROTECTED] on 2008/05/19 14:57:58

        Integrate:
        [ 33611]
        Integrate:
        [ 33085]
        Subject: FW: [PATCH] RE: [PATCH] volatile, avoid clobbered
        From: "Robin Barker" <[EMAIL PROTECTED]>
        Date: Wed, 23 Jan 2008 18:51:24 -0000
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 33106]
        Fix Win32 compiler warnings introduced by #33081 and #33085
        
        [just the 33081 part]
        
        [ 33152]
        Subject: [PATCH] don't forbid brace groups with g++ 4.2.2
        From: "Robin Barker" <[EMAIL PROTECTED]>
        Date: Wed, 30 Jan 2008 18:42:25 -0000
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 33368]
        Two break; statements that aren't (yet) needed, but may trip someone up
        in the future.

Affected files ...

... //depot/maint-5.8/perl/embed.fnc#247 integrate
... //depot/maint-5.8/perl/op.c#230 integrate
... //depot/maint-5.8/perl/perl.c#231 integrate
... //depot/maint-5.8/perl/perl.h#183 integrate
... //depot/maint-5.8/perl/pod/perlapi.pod#119 integrate
... //depot/maint-5.8/perl/proto.h#238 integrate

Differences ...

==== //depot/maint-5.8/perl/embed.fnc#247 (text) ====
Index: perl/embed.fnc
--- perl/embed.fnc#246~33461~   2008-03-10 07:40:32.000000000 -0700
+++ perl/embed.fnc      2008-05-19 07:57:58.000000000 -0700
@@ -632,7 +632,7 @@
 Apd    |I32    |call_argv      |NN const char* sub_name|I32 flags|NN char** 
argv
 Apd    |I32    |call_method    |NN const char* methname|I32 flags
 Apd    |I32    |call_pv        |NN const char* sub_name|I32 flags
-Apd    |I32    |call_sv        |NN SV* sv|I32 flags
+Apd    |I32    |call_sv        |NN SV* sv|VOL I32 flags
 Ap     |void   |despatch_signals
 Apd    |SV*    |eval_pv        |NN const char* p|I32 croak_on_error
 Apd    |I32    |eval_sv        |NN SV* sv|I32 flags

==== //depot/maint-5.8/perl/op.c#230 (text) ====
Index: perl/op.c
--- perl/op.c#229~33727~        2008-04-22 09:07:01.000000000 -0700
+++ perl/op.c   2008-05-19 07:57:58.000000000 -0700
@@ -689,6 +689,7 @@
     case OP_SORT:
        if (ckWARN(WARN_VOID))
            Perl_warner(aTHX_ packWARN(WARN_VOID), "Useless use of sort in 
scalar context");
+       break;
     }
     return o;
 }
@@ -2117,7 +2118,7 @@
 OP *
 Perl_fold_constants(pTHX_ register OP *o)
 {
-    register OP *curop;
+    register OP * VOL curop;
     VOL I32 type = o->op_type;
     SV * VOL sv = NULL;
     int ret = 0;
@@ -2161,6 +2162,7 @@
        /* XXX what about the numeric ops? */
        if (PL_hints & HINT_LOCALE)
            goto nope;
+       break;
     }
 
     if (PL_error_count)

==== //depot/maint-5.8/perl/perl.c#231 (text) ====
Index: perl/perl.c
--- perl/perl.c#230~33813~      2008-05-10 09:43:45.000000000 -0700
+++ perl/perl.c 2008-05-19 07:57:58.000000000 -0700
@@ -2647,7 +2647,7 @@
 */
 
 I32
-Perl_call_sv(pTHX_ SV *sv, I32 flags)
+Perl_call_sv(pTHX_ SV *sv, VOL I32 flags)
                        /* See G_* flags in cop.h */
 {
     dSP;

==== //depot/maint-5.8/perl/perl.h#183 (text) ====
Index: perl/perl.h
--- perl/perl.h#182~33593~      2008-03-28 12:45:31.000000000 -0700
+++ perl/perl.h 2008-05-19 07:57:58.000000000 -0700
@@ -327,8 +327,12 @@
 
 /* gcc (-ansi) -pedantic doesn't allow gcc statement expressions,
  * g++ allows them but seems to have problems with them
- * (insane errors ensue). */
-#if defined(PERL_GCC_PEDANTIC) || (defined(__GNUC__) && defined(__cplusplus))
+ * (insane errors ensue).
+ * g++ does not give insane errors now (RMB 2008-01-30, gcc 4.2.2).
+ */
+#if defined(PERL_GCC_PEDANTIC) || \
+    (defined(__GNUC__) && defined(__cplusplus) && \
+       ((__GNUC__ < 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ < 2))))
 #  ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
 #    define PERL_GCC_BRACE_GROUPS_FORBIDDEN
 #  endif
@@ -403,11 +407,7 @@
 #endif
 
 #if defined(HASVOLATILE) || defined(STANDARD_C)
-#   ifdef __cplusplus
-#      define VOL              /* to temporarily suppress warnings */
-#   else
 #      define VOL volatile
-#   endif
 #else
 #   define VOL
 #endif

==== //depot/maint-5.8/perl/pod/perlapi.pod#119 (text+w) ====
Index: perl/pod/perlapi.pod
--- perl/pod/perlapi.pod#118~33805~     2008-05-10 08:40:07.000000000 -0700
+++ perl/pod/perlapi.pod        2008-05-19 07:57:58.000000000 -0700
@@ -417,7 +417,7 @@
 
 NOTE: the perl_ form of this function is deprecated.
 
-       I32     call_sv(SV* sv, I32 flags)
+       I32     call_sv(SV* sv, VOL I32 flags)
 
 =for hackers
 Found in file perl.c

==== //depot/maint-5.8/perl/proto.h#238 (text+w) ====
Index: perl/proto.h
--- perl/proto.h#237~33476~     2008-03-11 10:24:08.000000000 -0700
+++ perl/proto.h        2008-05-19 07:57:58.000000000 -0700
@@ -1031,7 +1031,7 @@
 PERL_CALLCONV I32      Perl_call_argv(pTHX_ const char* sub_name, I32 flags, 
char** argv);
 PERL_CALLCONV I32      Perl_call_method(pTHX_ const char* methname, I32 flags);
 PERL_CALLCONV I32      Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
-PERL_CALLCONV I32      Perl_call_sv(pTHX_ SV* sv, I32 flags);
+PERL_CALLCONV I32      Perl_call_sv(pTHX_ SV* sv, VOL I32 flags);
 PERL_CALLCONV void     Perl_despatch_signals(pTHX);
 PERL_CALLCONV SV*      Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error);
 PERL_CALLCONV I32      Perl_eval_sv(pTHX_ SV* sv, I32 flags);
End of Patch.

Reply via email to