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.