summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-11-08 22:42:36 +0000
committerSam James <sam@gentoo.org>2022-11-08 22:46:19 +0000
commit7acd5f570128aedd2b027bda84b3838539eba49e (patch)
tree7567e9fec2c19cdef53a6aa9bcd96cd4b7f65cfc /sys-devel
parentnet-firewall/firehol: Set bash and iprange versions to aid cross-compiling (diff)
downloadgentoo-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')
-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.ebuild3
-rw-r--r--sys-devel/clang-common/clang-common-16.0.0.9999.ebuild6
-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