This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Try simpler usage for file-level GCC_DIAG_RESTORE.
authorJarkko Hietaniemi <jhi@iki.fi>
Fri, 20 Jun 2014 13:04:34 +0000 (09:04 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Sun, 22 Jun 2014 01:08:23 +0000 (21:08 -0400)
inline.h
perl.h

index 8b74452..0792694 100644 (file)
--- a/inline.h
+++ b/inline.h
@@ -189,7 +189,7 @@ S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp)
 
 /* saves machine code for a common noreturn idiom typically used in Newx*() */
 #ifdef GCC_DIAG_PRAGMA
-GCC_DIAG_IGNORE(-Wunused-function);
+GCC_DIAG_IGNORE(-Wunused-function) /* Intentionally left semicolonless. */
 #endif
 static void
 S_croak_memory_wrap(void)
@@ -197,7 +197,7 @@ S_croak_memory_wrap(void)
     Perl_croak_nocontext("%s",PL_memory_wrap);
 }
 #ifdef GCC_DIAG_PRAGMA
-GCC_DIAG_RESTORE;
+GCC_DIAG_RESTORE /* Intentionally left semicolonless. */
 #endif
 
 /* ------------------------------- utf8.h ------------------------------- */
diff --git a/perl.h b/perl.h
index 58dd2c1..9e3c743 100644 (file)
--- a/perl.h
+++ b/perl.h
  * semicolon being left alone on a line:
  * ;
  * which makes compilers mildly cranky.  Therefore at file level one
- * should use the #ifdef GCC_DIAG_PRAGMA guard around the GCC_DIAG_IGNORE
- * and GCC_DIAG_RESTORE.
- *
- * (An alternative solution would be not to use the semicolon, and then
- * the empty definition would be just empty, but that would make the code
- * look odd, and might mess up e.g. smart editors indenting the code.)
+ * should use the GCC_DIAG_IGNORE and GCC_DIAG_RESTORE_FILE *without*
+ * the semicolons.
  *
  * (A dead-on-arrival solution would be to try to define the macros as
  * NOOP or dNOOP, those don't work both inside functions and outside.)