commit: ebea8fa53bdd871deb841463f5fbd4f427b6ef3c Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Thu Oct 27 23:37:42 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Oct 27 23:37:42 2022 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=ebea8fa5
install-qa-check.d/90gcc-warnings: add -Wreturn-type Clang in particular optimises very aggressively based on this (if there's a missing return at the end, it'll end up performing mental gymnastics to deduce some other earlier case is taken). Signed-off-by: Sam James <sam <AT> gentoo.org> bin/install-qa-check.d/90gcc-warnings | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bin/install-qa-check.d/90gcc-warnings b/bin/install-qa-check.d/90gcc-warnings index 662d2fd3a..7a506d357 100644 --- a/bin/install-qa-check.d/90gcc-warnings +++ b/bin/install-qa-check.d/90gcc-warnings @@ -56,6 +56,9 @@ gcc_warn_check() { 'warning: .*matching.*\[-Wformat=\]' # function returns address of local variable '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\]' # argument to sizeof ... is the same expression as the source 'warning: .*\[-Wsizeof-pointer-memaccess\]' # iteration invokes undefined behavior