diff options
author | Karl Williamson <khw@cpan.org> | 2021-07-17 20:09:08 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2021-07-18 09:38:22 -0600 |
commit | 8a0214ab98bbdd4da29dcb1e76877b3d24788e2e (patch) | |
tree | 6fe20559cf2fefe1b5cd348e0c710c94492ebb6f /dist/Devel-PPPort/parts/inc/misc | |
parent | fc8d4680b350a8304c3d2b1a52ecc0546d090c1a (diff) | |
download | perl-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.
Diffstat (limited to 'dist/Devel-PPPort/parts/inc/misc')
-rw-r--r-- | dist/Devel-PPPort/parts/inc/misc | 2 |
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 |