[PATCH] Don't pass -c to LIBC_TRY_TEST_CC_OPTION
Sam James
sam@gentoo.org
Sat Aug 23 22:58:19 GMT 2025
"H.J. Lu" <hjl.tools@gmail.com> writes:
> LIBC_TRY_TEST_CC_OPTION is defined with LIBC_TRY_CC_OPTION:
>
> dnl Test a compiler option or options with an empty input file.
> dnl LIBC_TRY_CC_OPTION([options], [action-if-true], [action-if-false])
> AC_DEFUN([LIBC_TRY_CC_OPTION],
> [AS_IF([AC_TRY_COMMAND([${CC-cc} $1 -xc /dev/null -S -o /dev/null])],
> [$2], [$3])])
>
> which passes -S to compiler. Unlike gcc, when -c is also passed to clang
> 20, we get
>
> configure:7838: clang -c -Werror -fsemantic-interposition -xc /dev/null -S -o /dev/null
> clang: error: argument unused during compilation: '-c' [-Werror,-Wunused-command-line-argument]
These warnings are frustrating and Clang is very pedantic about these. I
think their behaviour is a mistake.
Anyway, OK, assuming this results in only innocent changes in config.log
with gcc, and expected changes with clang.
Reviewed-by: Sam James <sam@gentoo.org>
>
> Don't pass -c to LIBC_TRY_TEST_CC_OPTION since -c isn't needed.
>
> This fixes BZ #33318.
>
> Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
> ---
> configure | 10 +++++-----
> configure.ac | 10 +++++-----
> sysdeps/x86/configure | 2 +-
> sysdeps/x86/configure.ac | 2 +-
> 4 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/configure b/configure
> index 613ebe670a..222f04db22 100755
> --- a/configure
> +++ b/configure
> @@ -7834,7 +7834,7 @@ if test ${libc_cv_test_cc_cflags_fsemantic_interposition+y}
> then :
> printf %s "(cached) " >&6
> else case e in #(
> - e) if { ac_try='${CC-cc} -c -Werror -fsemantic-interposition -xc /dev/null -S -o /dev/null'
> + e) if { ac_try='${CC-cc} -Werror -fsemantic-interposition -xc /dev/null -S -o /dev/null'
> { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
> (eval $ac_try) 2>&5
> ac_status=$?
> @@ -8204,7 +8204,7 @@ 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'
> + e) if { ac_try='${CC-cc} -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=$?
> @@ -8238,7 +8238,7 @@ if test ${libc_cv_test_cflags_wno_fortify_source+y}
> then :
> printf %s "(cached) " >&6
> else case e in #(
> - e) if { ac_try='${CC-cc} -c -Werror -Wno-fortify-source -xc /dev/null -S -o /dev/null'
> + e) if { ac_try='${CC-cc} -Werror -Wno-fortify-source -xc /dev/null -S -o /dev/null'
> { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
> (eval $ac_try) 2>&5
> ac_status=$?
> @@ -8272,7 +8272,7 @@ if test ${libc_cv_test_cflags_finput_charset_ascii+y}
> then :
> printf %s "(cached) " >&6
> else case e in #(
> - e) if { ac_try='${CC-cc} -c -Werror -finput-charset=ascii -xc /dev/null -S -o /dev/null'
> + e) if { ac_try='${CC-cc} -Werror -finput-charset=ascii -xc /dev/null -S -o /dev/null'
> { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
> (eval $ac_try) 2>&5
> ac_status=$?
> @@ -8306,7 +8306,7 @@ if test ${libc_cv_test_cxxflags_finput_charset_ascii+y}
> then :
> printf %s "(cached) " >&6
> else case e in #(
> - e) if { ac_try='${CXX-c++} -c -Werror -finput-charset=ascii -xc++ /dev/null -S -o /dev/null'
> + e) if { ac_try='${CXX-c++} -Werror -finput-charset=ascii -xc++ /dev/null -S -o /dev/null'
> { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
> (eval $ac_try) 2>&5
> ac_status=$?
> diff --git a/configure.ac b/configure.ac
> index 6aefff94a2..af57b0cbae 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1543,7 +1543,7 @@ AC_SUBST(libc_cv_test_cc_signaling_nans)
>
> dnl Check if TEST_CC supports -fsemantic-interposition.
> LIBC_TRY_TEST_CC_OPTION([-fsemantic-interposition],
> - [-c -Werror -fsemantic-interposition],
> + [-Werror -fsemantic-interposition],
> libc_cv_test_cc_cflags_fsemantic_interposition,
> [libc_cv_test_cc_cflags_fsemantic_interposition=yes],
> [libc_cv_test_cc_cflags_fsemantic_interposition=no]
> @@ -1649,7 +1649,7 @@ LIBC_CONFIG_VAR([have-test-cc-trampoline],
>
> dnl Check if TEST_CC supports -Wno-restrict.
> LIBC_TRY_TEST_CC_OPTION([-Wno-restrict],
> - [-c -Werror -Wno-restrict],
> + [-Werror -Wno-restrict],
> libc_cv_test_cflags_wno_restrict,
> [libc_cv_test_cflags_wno_restrict=-Wno-restrict],
> [libc_cv_test_cflags_wno_restrict=]
> @@ -1659,7 +1659,7 @@ LIBC_CONFIG_VAR([test-config-cflags-wno-restrict],
>
> dnl Check if TEST_CC supports -Wno-fortify-source.
> LIBC_TRY_TEST_CC_OPTION([-Wno-fortify-source],
> - [-c -Werror -Wno-fortify-source],
> + [-Werror -Wno-fortify-source],
> libc_cv_test_cflags_wno_fortify_source,
> [libc_cv_test_cflags_wno_fortify_source=-Wno-fortify-source],
> [libc_cv_test_cflags_wno_fortify_source=]
> @@ -1669,7 +1669,7 @@ LIBC_CONFIG_VAR([test-config-cflags-wno-fortify-source],
>
> dnl Check if TEST_CC supports -finput-charset=ascii.
> LIBC_TRY_TEST_CC_OPTION([-finput-charset=ascii],
> - [-c -Werror -finput-charset=ascii],
> + [-Werror -finput-charset=ascii],
> libc_cv_test_cflags_finput_charset_ascii,
> [libc_cv_test_cflags_finput_charset_ascii="-finput-charset=ascii"],
> [libc_cv_test_cflags_finput_charset_ascii=]
> @@ -1679,7 +1679,7 @@ LIBC_CONFIG_VAR(test-config-cflags-finput-charset-ascii,
>
> dnl Check if TEST_CXX supports -finput-charset=ascii.
> LIBC_TRY_TEST_CXX_OPTION([$CXX -finput-charset=ascii],
> - [-c -Werror -finput-charset=ascii],
> + [-Werror -finput-charset=ascii],
> libc_cv_test_cxxflags_finput_charset_ascii,
> [libc_cv_test_cxxflags_finput_charset_ascii="-finput-charset=ascii"],
> [libc_cv_test_cxxflags_finput_charset_ascii=]
> diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure
> index f495f69894..b8583e266b 100644
> --- a/sysdeps/x86/configure
> +++ b/sysdeps/x86/configure
> @@ -189,7 +189,7 @@ if test ${libc_cv_have_test_cc_cflags_mfpmath_387+y}
> then :
> printf %s "(cached) " >&6
> else case e in #(
> - e) if { ac_try='${CC-cc} -c -Werror -mfpmath=387 -xc /dev/null -S -o /dev/null'
> + e) if { ac_try='${CC-cc} -Werror -mfpmath=387 -xc /dev/null -S -o /dev/null'
> { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
> (eval $ac_try) 2>&5
> ac_status=$?
> diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
> index 77ba6721ec..07f62d0616 100644
> --- a/sysdeps/x86/configure.ac
> +++ b/sysdeps/x86/configure.ac
> @@ -124,7 +124,7 @@ LIBC_CONFIG_VAR([enable-x86-isa-level], [$libc_cv_include_x86_isa_level])
>
> dnl Check if TEST_CC supports -mfpmath=387
> LIBC_TRY_TEST_CC_OPTION([if -mfpmath=387 works],
> - [-c -Werror -mfpmath=387],
> + [-Werror -mfpmath=387],
> libc_cv_have_test_cc_cflags_mfpmath_387,
> [libc_cv_have_test_cc_cflags_mfpmath_387=yes],
> [libc_cv_have_test_cc_cflags_mfpmath_387=no]
More information about the Libc-alpha
mailing list