diff options
author | Sam James <sam@gentoo.org> | 2022-11-08 22:42:36 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-11-08 22:46:19 +0000 |
commit | 7acd5f570128aedd2b027bda84b3838539eba49e (patch) | |
tree | 7567e9fec2c19cdef53a6aa9bcd96cd4b7f65cfc /sys-devel/clang-common | |
parent | net-firewall/firehol: Set bash and iprange versions to aid cross-compiling (diff) | |
download | gentoo-7acd5f570128aedd2b027bda84b3838539eba49e.tar.gz gentoo-7acd5f570128aedd2b027bda84b3838539eba49e.tar.bz2 gentoo-7acd5f570128aedd2b027bda84b3838539eba49e.zip |
sys-devel/clang-common: drop -Werror=deprecated-non-prototype for 15.x, promote to 16.x
Clang 16.x will make -Wimplicit-int, -Wimplicit-function-declaration, and
-Wincompatible-function-pointer-type error by default.
Clang 15.x+ also warns on -Wdeprecated-non-prototype but it's not becoming
fatal yet. It'll be an error when the defaults in compilers change to C23.
There's a LOT of breakage with -Werror=deprecated-non-prototype, and we do
care about it, but the first batch of errors mentioned above are more
important for the time being. We need to be able to triage and prioritise
the bugs.
So:
* Clang 15 USE=stricter: only -Wimplict-int -Wimplicit-function-declaration
and -Wincompatible-function-pointer-type are errors.
* Clang 16 USE=stricter: upstream defaults (which include ^ as we're
doing for clang 15) + -Wdeprecated-non-prototype as an error, because presumably
if you set USE=stricter on *16*, you want something harsher than already
will ship upstream.
This more accurately lets developers in Gentoo set USE=stricter on clang-common
for 15.x and get Clang 16.x behaviour rather than scaring the life out of them.
Thanks to Ionen for talking this out with me.
Bug: https://bugs.gentoo.org/876985
See: 930fe2268cbedda61e37fada65e57352d25d8761
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-devel/clang-common')
-rw-r--r-- | sys-devel/clang-common/clang-common-15.0.4-r1.ebuild (renamed from sys-devel/clang-common/clang-common-15.0.4.ebuild) | 3 | ||||
-rw-r--r-- | sys-devel/clang-common/clang-common-15.0.4.9999.ebuild | 3 | ||||
-rw-r--r-- | sys-devel/clang-common/clang-common-16.0.0.9999.ebuild | 6 | ||||
-rw-r--r-- | sys-devel/clang-common/clang-common-16.0.0_pre20221023-r2.ebuild (renamed from sys-devel/clang-common/clang-common-16.0.0_pre20221023-r1.ebuild) | 6 | ||||
-rw-r--r-- | sys-devel/clang-common/clang-common-16.0.0_pre20221104-r1.ebuild (renamed from sys-devel/clang-common/clang-common-16.0.0_pre20221104.ebuild) | 6 |
5 files changed, 18 insertions, 6 deletions
diff --git a/sys-devel/clang-common/clang-common-15.0.4.ebuild b/sys-devel/clang-common/clang-common-15.0.4-r1.ebuild index 819076f87723..f7293fd3cb2b 100644 --- a/sys-devel/clang-common/clang-common-15.0.4.ebuild +++ b/sys-devel/clang-common/clang-common-15.0.4-r1.ebuild @@ -97,9 +97,6 @@ src_install() { -Werror=implicit-function-declaration -Werror=implicit-int -Werror=incompatible-function-pointer-types - - # constructs banned by C2x - -Werror=deprecated-non-prototype EOF cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die diff --git a/sys-devel/clang-common/clang-common-15.0.4.9999.ebuild b/sys-devel/clang-common/clang-common-15.0.4.9999.ebuild index d5e7941a5fc8..3e43f51a0aab 100644 --- a/sys-devel/clang-common/clang-common-15.0.4.9999.ebuild +++ b/sys-devel/clang-common/clang-common-15.0.4.9999.ebuild @@ -97,9 +97,6 @@ src_install() { -Werror=implicit-function-declaration -Werror=implicit-int -Werror=incompatible-function-pointer-types - - # constructs banned by C2x - -Werror=deprecated-non-prototype EOF cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die diff --git a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild index 3e43f51a0aab..e9669ee1adcc 100644 --- a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild @@ -97,6 +97,12 @@ src_install() { -Werror=implicit-function-declaration -Werror=implicit-int -Werror=incompatible-function-pointer-types + + # constructs banned by C2x + -Werror=deprecated-non-prototype + + # deprecated but large blast radius + #-Werror=strict-prototypes EOF cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die diff --git a/sys-devel/clang-common/clang-common-16.0.0_pre20221023-r1.ebuild b/sys-devel/clang-common/clang-common-16.0.0_pre20221023-r2.ebuild index 3e43f51a0aab..e9669ee1adcc 100644 --- a/sys-devel/clang-common/clang-common-16.0.0_pre20221023-r1.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.0_pre20221023-r2.ebuild @@ -97,6 +97,12 @@ src_install() { -Werror=implicit-function-declaration -Werror=implicit-int -Werror=incompatible-function-pointer-types + + # constructs banned by C2x + -Werror=deprecated-non-prototype + + # deprecated but large blast radius + #-Werror=strict-prototypes EOF cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die diff --git a/sys-devel/clang-common/clang-common-16.0.0_pre20221104.ebuild b/sys-devel/clang-common/clang-common-16.0.0_pre20221104-r1.ebuild index 3e43f51a0aab..e9669ee1adcc 100644 --- a/sys-devel/clang-common/clang-common-16.0.0_pre20221104.ebuild +++ b/sys-devel/clang-common/clang-common-16.0.0_pre20221104-r1.ebuild @@ -97,6 +97,12 @@ src_install() { -Werror=implicit-function-declaration -Werror=implicit-int -Werror=incompatible-function-pointer-types + + # constructs banned by C2x + -Werror=deprecated-non-prototype + + # deprecated but large blast radius + #-Werror=strict-prototypes EOF cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die |