Check if TEST_CC supports -Wno-restrict before using it

Check if TEST_CC supports -Wno-restrict before using it to avoid Clang
error:

error: unknown warning option '-Wno-restrict' [-Werror,-Wunknown-warning-option]

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
This commit is contained in:
Adhemerval Zanella 2023-07-27 15:49:52 -03:00 committed by H.J. Lu
parent 325db5ab7f
commit 2271e0d2b6
3 changed files with 48 additions and 2 deletions

34
configure vendored
View file

@ -7967,6 +7967,40 @@ have-test-cc-trampoline = $libc_cv_test_cc_trampolines"
saved_CC="$CC"
CC="$TEST_CC"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking -Wno-restrict in testing" >&5
printf %s "checking -Wno-restrict in testing... " >&6; }
if test ${libc_cv_test_cflags_wno_restrict+y}
then :
printf %s "(cached) " >&6
else case e in #(
e) if { ac_try='${CC-cc} -c -Werror -Wno-restrict -xc /dev/null -S -o /dev/null'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then :
libc_cv_test_cflags_wno_restrict=-Wno-restrict
else case e in #(
e) libc_cv_test_cflags_wno_restrict=
;;
esac
fi ;;
esac
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_test_cflags_wno_restrict" >&5
printf "%s\n" "$libc_cv_test_cflags_wno_restrict" >&6; }
CC="$saved_CC"
config_vars="$config_vars
test-config-cflags-wno-restrict = $libc_cv_test_cflags_wno_restrict"
saved_CC="$CC"
CC="$TEST_CC"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking -finput-charset=ascii in testing" >&5

View file

@ -1579,6 +1579,16 @@ LIBC_TRY_TEST_CC_COMMAND([support for trampolines],
LIBC_CONFIG_VAR([have-test-cc-trampoline],
[$libc_cv_test_cc_trampolines])
dnl Check if TEST_CC supports -Wno-restrict.
LIBC_TRY_TEST_CC_OPTION([-Wno-restrict],
[-c -Werror -Wno-restrict],
libc_cv_test_cflags_wno_restrict,
[libc_cv_test_cflags_wno_restrict=-Wno-restrict],
[libc_cv_test_cflags_wno_restrict=]
)
LIBC_CONFIG_VAR([test-config-cflags-wno-restrict],
[$libc_cv_test_cflags_wno_restrict])
dnl Check if TEST_CC supports -finput-charset=ascii.
LIBC_TRY_TEST_CC_OPTION([-finput-charset=ascii],
[-c -Werror -finput-charset=ascii],

View file

@ -250,8 +250,10 @@ CFLAGS-tst-bz24153.c += $(no-fortify-source)
CFLAGS-tst_putwc.c += -DOBJPFX=\"$(objpfx)\"
# These test cases intentionally use overlapping arguments
CFLAGS-tst-sprintf-ub.c += -Wno-restrict $(no-fortify-source)
CFLAGS-tst-sprintf-chk-ub.c += -Wno-restrict $(no-fortify-source)
CFLAGS-tst-sprintf-ub.c += $(test-config-cflags-wno-restrict) \
$(no-fortify-source)
CFLAGS-tst-sprintf-chk-ub.c += $(test-config-cflags-wno-restrict) \
$(no-fortify-source)
LDFLAGS-tst-bz24228 = -Wl,--version-script=tst-bz24228.map