mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-01 11:18:09 -07:00
flag-o-matic.eclass: revert "don't use -Werror in test-flag-PROG(), bug #712488"
This reverts commit ab8fe14ae2.
Triggers build failures on sys-libs/compiler-rt-sanitizers.
Reported-by: Craig Andrews
Bug: https://bugs.gentoo.org/714742
Bug: https://bugs.gentoo.org/712488
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
@@ -487,15 +487,11 @@ test-flag-PROG() {
|
||||
|
||||
printf "%s\n" "${in_src}" > "${test_in}" || die "Failed to create '${test_in}'"
|
||||
|
||||
# Don't set -Werror as there are cases when benign
|
||||
# always-on warnings filter out all flags like bug #712488.
|
||||
# We'll have to live with potential '-Wunused-command-line-argument'.
|
||||
# flags.
|
||||
#
|
||||
# We can add more selective detection of no-op flags via
|
||||
# '-Werror=ignored-optimization-argument' and similar error options.
|
||||
local cmdline=(
|
||||
"${comp[@]}"
|
||||
# Clang will warn about unknown gcc flags but exit 0.
|
||||
# Need -Werror to force it to exit non-zero.
|
||||
-Werror
|
||||
"$@"
|
||||
# -x<lang> options need to go before first source file
|
||||
"${cmdline_extra[@]}"
|
||||
@@ -503,7 +499,14 @@ test-flag-PROG() {
|
||||
"${test_in}" -o "${test_out}"
|
||||
)
|
||||
|
||||
"${cmdline[@]}" &>/dev/null
|
||||
if ! "${cmdline[@]}" &>/dev/null; then
|
||||
# -Werror makes clang bail out on unused arguments as well;
|
||||
# try to add -Qunused-arguments to work-around that
|
||||
# other compilers don't support it but then, it's failure like
|
||||
# any other
|
||||
cmdline+=( -Qunused-arguments )
|
||||
"${cmdline[@]}" &>/dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: test-flag-CC
|
||||
|
||||
@@ -161,12 +161,10 @@ out=$(CC=clang test-flags-CC -finvalid-flag)
|
||||
[[ $? -ne 0 && -z ${out} ]]
|
||||
ftend
|
||||
|
||||
### '-finline-limit=1200' is 'ignored' flag, not invalid.
|
||||
### We don't filter out ignored flags currently, bug #712488
|
||||
#tbegin "test-flags-CC (gcc-valid but clang-invalid flags)"
|
||||
#out=$(CC=clang test-flags-CC -finline-limit=1200)
|
||||
#[[ $? -ne 0 && -z ${out} ]]
|
||||
#ftend
|
||||
tbegin "test-flags-CC (gcc-valid but clang-invalid flags)"
|
||||
out=$(CC=clang test-flags-CC -finline-limit=1200)
|
||||
[[ $? -ne 0 && -z ${out} ]]
|
||||
ftend
|
||||
|
||||
tbegin "test-flags-CC (unused flags w/clang)"
|
||||
out=$(CC=clang test-flags-CC -Wl,-O1)
|
||||
|
||||
Reference in New Issue
Block a user