summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Williamson <khw@cpan.org>2021-07-17 20:09:08 -0600
committerKarl Williamson <khw@cpan.org>2021-07-18 09:38:22 -0600
commit8a0214ab98bbdd4da29dcb1e76877b3d24788e2e (patch)
tree6fe20559cf2fefe1b5cd348e0c710c94492ebb6f
parentfc8d4680b350a8304c3d2b1a52ecc0546d090c1a (diff)
downloadperl-8a0214ab98bbdd4da29dcb1e76877b3d24788e2e.tar.gz
Devel::PPPort: Fix STMT_START { ... } STMT_END
This fixes up 6d66b125bb339b62c0d8d4283d3fe576795764ce so that the Devel::PPPort portion works on all supported Perls. Basically, we have to preserve the pre-existing behavior for all Perls that still have VOIDFLAGS, which was removed by: Author: Nicholas Clark nick@ccl4.org Date: Wed Sep 11 11:54:42 2013 +0200 Eliminate the only use of VOIDFLAGS, as part of STMT_START in perl.h STMT_START has used VOIDFLAGS as part of its conditional compilation since it was added by commit 728e280 (March 1996). The code originally read: /* Now which other defined()s do we need here ??? */ Since then it has been amended to avoid entering that definition for GCC on Solaris. Given that all current Solaris compilers are C89 conformant, VOIDFLAGS will always be true (actually 15), so the test is redundant. Even back in 1996, it's possible that VOIDFLAGS was always non-zero on SunOS, rendering the test obsolete from the start. Spotted by Brian Fraser, and extracted from a larger patch of his.
-rw-r--r--dist/Devel-PPPort/parts/inc/misc2
1 files changed, 1 insertions, 1 deletions
diff --git a/dist/Devel-PPPort/parts/inc/misc b/dist/Devel-PPPort/parts/inc/misc
index ae0ada0741..6d3edbc5af 100644
--- a/dist/Devel-PPPort/parts/inc/misc
+++ b/dist/Devel-PPPort/parts/inc/misc
@@ -286,7 +286,7 @@ __UNDEF_NOT_PROVIDED__ PERL_GCC_BRACE_GROUPS_FORBIDDEN
#undef STMT_START
#undef STMT_END
-#ifdef PERL_USE_GCC_BRACE_GROUPS
+#if defined(VOIDFLAGS) && defined(PERL_USE_GCC_BRACE_GROUPS)
# define STMT_START (void)( /* gcc supports ``({ STATEMENTS; })'' */
# define STMT_END )
#else