This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Move the PERL_GCC_BRACE_GROUPS_FORBIDDEN earlier.
authorJarkko Hietaniemi <jhi@iki.fi>
Wed, 28 May 2014 16:46:05 +0000 (12:46 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Wed, 28 May 2014 16:48:36 +0000 (12:48 -0400)
The PERL_UNUSED_RESULT needs it to avoid using the brace groups
when going -pedantic.

perl.h

diff --git a/perl.h b/perl.h
index 9226d8e..7bfc445 100644 (file)
--- a/perl.h
+++ b/perl.h
 #  define PERL_UNUSED_CONTEXT
 #endif
 
+/* gcc (-ansi) -pedantic doesn't allow gcc statement expressions,
+ * g++ allows them but seems to have problems with them
+ * (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
+#endif
+
 /* Use PERL_UNUSED_RESULT() to suppress the warnings about unused results
  * of function calls, e.g. PERL_UNUSED_RESULT(foo(a, b)).  Use it sparingly,
  * though, since usually the warning is there for a good reason,
  * extension __typeof__ and nothing else.
  */
 #ifndef PERL_UNUSED_RESULT
-#  ifdef __GNUC__
+#  if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
 #    define PERL_UNUSED_RESULT(v) ({ __typeof__(v) z = (v); (void)sizeof(z); })
 #  else
 #    define PERL_UNUSED_RESULT(v) ((void)(v))
 #  endif
 #endif
 
-/* gcc (-ansi) -pedantic doesn't allow gcc statement expressions,
- * g++ allows them but seems to have problems with them
- * (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
-#endif
-
 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
 #  ifndef PERL_USE_GCC_BRACE_GROUPS
 #    define PERL_USE_GCC_BRACE_GROUPS