From 2271e0d2b606637870daa2a39894eb8d8bbfe5dc Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Thu, 27 Jul 2023 15:49:52 -0300 Subject: 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 Reviewed-by: Sam James --- configure | 34 ++++++++++++++++++++++++++++++++++ configure.ac | 10 ++++++++++ libio/Makefile | 6 ++++-- 3 files changed, 48 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 7bc028c..5fb4141 100755 --- a/configure +++ b/configure @@ -7969,6 +7969,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 printf %s "checking -finput-charset=ascii in testing... " >&6; } if test ${libc_cv_test_cflags_finput_charset_ascii+y} diff --git a/configure.ac b/configure.ac index 829f4be..8c2eecf 100644 --- a/configure.ac +++ b/configure.ac @@ -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], diff --git a/libio/Makefile b/libio/Makefile index 4370152..a879e8c 100644 --- a/libio/Makefile +++ b/libio/Makefile @@ -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 -- cgit v1.1