mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-20 01:12:17 +08:00
configure: Only use -Wno-discarded-qualifiers iff compiler supports it
The clang analogous option is -Wno-incompatible-pointer-types-discards-qualifiers, so add a configure option to check which one compiler supports.
This commit is contained in:
41
configure
vendored
41
configure
vendored
@@ -7431,6 +7431,47 @@ printf "%s\n" "$libc_cv_fpie" >&6; }
|
||||
|
||||
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wno-discarded-qualifiers" >&5
|
||||
printf %s "checking for -Wno-discarded-qualifiers... " >&6; }
|
||||
if test ${libc_cv_cflags_wno_discarded_qualifiers+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e) if { ac_try='${CC-cc} -Werror -Wno-discarded-qualifiers -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_cflags_wno_discarded_qualifiers=-Wno-discarded-qualifiers
|
||||
else case e in #(
|
||||
e) libc_cv_cflags_wno_discarded_qualifiers= ;;
|
||||
esac
|
||||
fi
|
||||
if test -z "$libc_cv_cflags_wno_discarded_qualifiers"; then
|
||||
if { ac_try='${CC-cc} -Werror -Wno-incompatible-pointer-types-discards-qualifiers -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_cflags_wno_incompatible_pointer_type_discards_qualifiers=-Wno-incompatible-pointer-types-discards-qualifiers
|
||||
else case e in #(
|
||||
e) libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers= ;;
|
||||
esac
|
||||
fi
|
||||
libc_cv_cflags_wno_discarded_qualifiers=$libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $libc_cv_cflags_wno_discarded_qualifiers" >&5
|
||||
printf "%s\n" "$libc_cv_cflags_wno_discarded_qualifiers" >&6; }
|
||||
config_vars="$config_vars
|
||||
config-cflags-wno-discarded-qualifiers = $libc_cv_cflags_wno_discarded_qualifiers"
|
||||
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5
|
||||
printf %s "checking for GLOB_DAT reloc... " >&6; }
|
||||
if test ${libc_cv_has_glob_dat+y}
|
||||
|
||||
16
configure.ac
16
configure.ac
@@ -1370,6 +1370,22 @@ LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpie=yes], [libc_cv_fpie=no])
|
||||
|
||||
AC_SUBST(libc_cv_fpie)
|
||||
|
||||
dnl Check how to suppress C23-qualifier-generic const warnings. GCC has
|
||||
dnl -Wno-discarded-qualifiers, while clang -Wno-incompatible-pointer-types-discards-qualifiers
|
||||
AC_CACHE_CHECK(for -Wno-discarded-qualifiers, libc_cv_cflags_wno_discarded_qualifiers, [dnl
|
||||
LIBC_TRY_CC_OPTION([-Werror -Wno-discarded-qualifiers],
|
||||
[libc_cv_cflags_wno_discarded_qualifiers=-Wno-discarded-qualifiers],
|
||||
[libc_cv_cflags_wno_discarded_qualifiers=])
|
||||
if test -z "$libc_cv_cflags_wno_discarded_qualifiers"; then
|
||||
LIBC_TRY_CC_OPTION([-Werror -Wno-incompatible-pointer-types-discards-qualifiers],
|
||||
[libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers=-Wno-incompatible-pointer-types-discards-qualifiers],
|
||||
[libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers=])
|
||||
libc_cv_cflags_wno_discarded_qualifiers=$libc_cv_cflags_wno_incompatible_pointer_type_discards_qualifiers
|
||||
fi
|
||||
])
|
||||
LIBC_CONFIG_VAR([config-cflags-wno-discarded-qualifiers],
|
||||
[$libc_cv_cflags_wno_discarded_qualifiers])
|
||||
|
||||
AC_CACHE_CHECK(for GLOB_DAT reloc,
|
||||
libc_cv_has_glob_dat, [dnl
|
||||
cat > conftest.c <<EOF
|
||||
|
||||
@@ -73,10 +73,10 @@ tz-cflags = -DTZDIR='"$(zonedir)"' \
|
||||
# The -Wno-unused-variable flag is used to prevent GCC 6
|
||||
# from warning about time_t_min and time_t_max which are
|
||||
# defined in private.h but not used.
|
||||
# -Wno-discarded-qualifiers is because zic is not prepared for C23
|
||||
# $(config-cflags-wno-discarded-qualifiers) is because zic is not prepared for C23
|
||||
# -qualifier-generic strchr.
|
||||
CFLAGS-zdump.c += $(tz-cflags)
|
||||
CFLAGS-zic.c += $(tz-cflags) -Wno-unused-variable -Wno-discarded-qualifiers
|
||||
CFLAGS-zic.c += $(tz-cflags) -Wno-unused-variable $(config-cflags-wno-discarded-qualifiers)
|
||||
|
||||
# We have to make sure the data for testing the tz functions is available.
|
||||
# Don't add leapseconds here since test-tz made checks that work only without
|
||||
|
||||
Reference in New Issue
Block a user