https://github.com/dankogai/p5-encode/commit/7c9c5be4e658a5b37632b46925a2735123f65c6e https://bugs.gentoo.org/886507 From 7c9c5be4e658a5b37632b46925a2735123f65c6e Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Wed, 13 Oct 2021 07:51:58 +0000 Subject: [PATCH] Only add -Werror=declaration-after-statement for 5.035004 and earlier Perl v5.35.5 now uses some C99 features. This means that Perl's headers now contain some code with mixed declarations and code., and so won't compile with -Werror=declaration-after-statement It still makes sense to add this flag for builds for earlier perl versions, because they support long obsolete compilers that are strict in rejecting certain C99 features, so adding this gcc flag allows us to audit that our code does not violate this. --- a/Makefile.PL +++ b/Makefile.PL @@ -20,7 +20,7 @@ if (!$ENV{PERL_CORE}) { $gccver =~ s/\.//g; $gccver =~ s/ .*//; $gccver .= "0" while length $gccver < 3; $gccver = 0+$gccver; - $ccflags .= ' -Werror=declaration-after-statement' if $gccver > 412; + $ccflags .= ' -Werror=declaration-after-statement' if $gccver > 412 and $] < 5.035005; $ccflags .= ' -Wpointer-sign' if !$Config{d_cplusplus} and $gccver > 400; $ccflags .= ' -fpermissive' if $Config{d_cplusplus}; }