commit: 9a06b7210562b8d03577cd4043227ea2023db1f2 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sun Feb 25 08:13:28 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Feb 25 08:15:18 2024 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=9a06b721
bin/install-qa-check.d: 90gcc-warnings: drop GCC warnings with known (heavy) FPs Drop -Wstringop-overflow, -Wstringop-overread, -Wstringop-truncation, -Waddress, and -Wreturn-local-addr for now because they cause too many FPs. We want only reliable warnings for this Portage QA check as we encourage people to report these upstream. Bug: https://gcc.gnu.org/PR88443 Bug: https://gcc.gnu.org/PR88781 Bug: https://gcc.gnu.org/PR93644 Bug: https://gcc.gnu.org/PR97048 Bug: https://gcc.gnu.org/PR103360 Bug: https://bugs.gentoo.org/925460 Signed-off-by: Sam James <sam <AT> gentoo.org> NEWS | 2 ++ bin/install-qa-check.d/90gcc-warnings | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/NEWS b/NEWS index 94be26de84..83be372043 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,8 @@ portage-3.0.63 (UNRELEASED) Bug fixes: * emerge: Skip installed packages with emptytree in depgraph selection (bug #651018). +* bin/install-qa-check.d: 90gcc-warnings: drop warnings with too many FPs (bug #925460). + portage-3.0.62 (2024-02-22) -------------- diff --git a/bin/install-qa-check.d/90gcc-warnings b/bin/install-qa-check.d/90gcc-warnings index 449bf23627..1060618dfa 100644 --- a/bin/install-qa-check.d/90gcc-warnings +++ b/bin/install-qa-check.d/90gcc-warnings @@ -44,9 +44,12 @@ gcc_warn_check() { # those three do not have matching -W flags, it seems 'warning: .*will always overflow destination buffer' # compile-time part of FORTIFY_SOURCE - 'warning: .*\[-Wstringop-overflow\]' - 'warning: .*\[-Wstringop-overread\]' - 'warning: .*\[-Wstringop-truncation\]' + # XXX: Commented out because of gcc FPs (https://gcc.gnu.org/PR88443) + #'warning: .*\[-Wstringop-overflow\]' + # XXX: Commented out because of gcc FPs (https://gcc.gnu.org/PR97048) + #'warning: .*\[-Wstringop-overread\]' + # XXX: Commented out because of gcc FPs (https://gcc.gnu.org/PR88781) + #'warning: .*\[-Wstringop-truncation\]' # clang-only, equivalent of -Wstringop-overflow 'warning: .*\[-Wfortify-source\]' 'warning: .*assuming pointer wraparound does not occur' @@ -68,7 +71,8 @@ gcc_warn_check() { 'warning: .*function.*\[-Wpointer-arith\]' # the address of ... will never be NULL and likes # (uses of function refs & string constants in conditionals) - 'warning: .*\[-Waddress\]' + # XXX: Commented out because of gcc FPs (https://gcc.gnu.org/PR103360) + #'warning: .*\[-Waddress\]' # TODO: we want to enable these but bash currently triggers # them with a trick in random.c where it intentionally wants @@ -95,7 +99,8 @@ gcc_warn_check() { 'warning: .*matching.*\[-Wformat=\]' # function returns address of local variable - 'warning: .*\[-Wreturn-local-addr\]' + # XXX: Commented out for bug #925460 (https://gcc.gnu.org/PR93644) + #'warning: .*\[-Wreturn-local-addr\]' # missing return at end of function, or non-void return in a void function # (clang at least aggressively optimises on this) 'warning: .*\[-Wreturn-type\]' @@ -123,7 +128,8 @@ gcc_warn_check() { 'warning: .*\[-Wodr\]' # warning: argument value A will result in undefined behaviour (Clang) 'warning: .*\[-Wargument-undefined-behaviour\]' - 'warning: .*\[-Wnull-dereference\]' + # XXX: Commented out because of GCC FPs (https://gcc.gnu.org/PR86172) + #'warning: .*\[-Wnull-dereference\]' # general sensible warnings (will be rejected by modern compilers soon) 'warning: .*\[-Wmain\]'