On 15.09.20 17:02, Stefan Schulze Frielinghaus wrote:
> Over the last couple of months quite a few warnings about uninitialized
> variables were raised while building GCC. A reason why these warnings
> show up on S/390 only is due to the aggressive inlining settings here.
> Some of these warnings (2c832ffedf0, b776bdca932, 2786c0221b6,
> 1657178f59b) could be fixed or in case of a false positive silenced by
> initializing the corresponding variable. Since the latter reoccurs and
> while bootstrapping such warnings are turned into errors bootstrapping
> fails on S/390 consistently. Therefore, for the moment do not turn
> those warnings into errors.
>
> config/ChangeLog:
>
> * warnings.m4: Do not turn maybe-uninitialized warnings into errors
> on S/390.
>
> fixincludes/ChangeLog:
>
> * configure: Regenerate.
>
> gcc/ChangeLog:
>
> * configure: Regenerate.
>
> libcc1/ChangeLog:
>
> * configure: Regenerate.
>
> libcpp/ChangeLog:
>
> * configure: Regenerate.
>
> libdecnumber/ChangeLog:
>
> * configure: Regenerate.
That change looks good to me. Could a global reviewer please comment!
Andreas
> ---
> config/warnings.m4 | 20 ++++++++++++++------
> fixincludes/configure | 8 +++++++-
> gcc/configure | 12 +++++++++---
> libcc1/configure | 8 +++++++-
> libcpp/configure | 8 +++++++-
> libdecnumber/configure | 8 +++++++-
> 6 files changed, 51 insertions(+), 13 deletions(-)
>
> diff --git a/config/warnings.m4 b/config/warnings.m4
> index ce007f9b73e..d977bfb20af 100644
> --- a/config/warnings.m4
> +++ b/config/warnings.m4
> @@ -101,8 +101,10 @@ AC_ARG_ENABLE(werror-always,
> AS_HELP_STRING([--enable-werror-always],
> [enable -Werror despite compiler version]),
> [], [enable_werror_always=no])
> -AS_IF([test $enable_werror_always = yes],
> - [acx_Var="$acx_Var${acx_Var:+ }-Werror"])
> +AS_IF([test $enable_werror_always = yes], [dnl
> + acx_Var="$acx_Var${acx_Var:+ }-Werror"
> + AS_CASE([$host], [s390*-*-*],
> + [acx_Var="$acx_Var -Wno-error=maybe-uninitialized"])])
> m4_if($1, [manual],,
> [AS_VAR_PUSHDEF([acx_GCCvers], [acx_cv_prog_cc_gcc_$1_or_newer])dnl
> AC_CACHE_CHECK([whether $CC is GCC >=$1], acx_GCCvers,
> @@ -116,7 +118,9 @@ AS_IF([test $enable_werror_always = yes],
> [AS_VAR_SET(acx_GCCvers, yes)],
> [AS_VAR_SET(acx_GCCvers, no)])])
> AS_IF([test AS_VAR_GET(acx_GCCvers) = yes],
> - [acx_Var="$acx_Var${acx_Var:+ }-Werror"])
> + [acx_Var="$acx_Var${acx_Var:+ }-Werror"
> + AS_CASE([$host], [s390*-*-*],
> + [acx_Var="$acx_Var -Wno-error=maybe-uninitialized"])])
> AS_VAR_POPDEF([acx_GCCvers])])
> m4_popdef([acx_Var])dnl
> AC_LANG_POP(C)
> @@ -205,8 +209,10 @@ AC_ARG_ENABLE(werror-always,
> AS_HELP_STRING([--enable-werror-always],
> [enable -Werror despite compiler version]),
> [], [enable_werror_always=no])
> -AS_IF([test $enable_werror_always = yes],
> - [acx_Var="$acx_Var${acx_Var:+ }-Werror"])
> +AS_IF([test $enable_werror_always = yes], [dnl
> + acx_Var="$acx_Var${acx_Var:+ }-Werror"
> + AS_CASE([$host], [s390*-*-*],
> + [strict_warn="$strict_warn -Wno-error=maybe-uninitialized"])])
> m4_if($1, [manual],,
> [AS_VAR_PUSHDEF([acx_GXXvers], [acx_cv_prog_cxx_gxx_$1_or_newer])dnl
> AC_CACHE_CHECK([whether $CXX is G++ >=$1], acx_GXXvers,
> @@ -220,7 +226,9 @@ AS_IF([test $enable_werror_always = yes],
> [AS_VAR_SET(acx_GXXvers, yes)],
> [AS_VAR_SET(acx_GXXvers, no)])])
> AS_IF([test AS_VAR_GET(acx_GXXvers) = yes],
> - [acx_Var="$acx_Var${acx_Var:+ }-Werror"])
> + [acx_Var="$acx_Var${acx_Var:+ }-Werror"
> + AS_CASE([$host], [s390*-*-*],
> + [acx_Var="$acx_Var -Wno-error=maybe-uninitialized"])])
> AS_VAR_POPDEF([acx_GXXvers])])
> m4_popdef([acx_Var])dnl
> AC_LANG_POP(C++)
> diff --git a/fixincludes/configure b/fixincludes/configure
> index 6e2d67b655b..e0d679cc18e 100755
> --- a/fixincludes/configure
> +++ b/fixincludes/configure
> @@ -4753,7 +4753,13 @@ else
> fi
>
> if test $enable_werror_always = yes; then :
> - WERROR="$WERROR${WERROR:+ }-Werror"
> + WERROR="$WERROR${WERROR:+ }-Werror"
> + case $host in #(
> + s390*-*-*) :
> + WERROR="$WERROR -Wno-error=maybe-uninitialized" ;; #(
> + *) :
> + ;;
> +esac
> fi
>
> ac_ext=c
> diff --git a/gcc/configure b/gcc/configure
> index 0a09777dd42..ea03581537a 100755
> --- a/gcc/configure
> +++ b/gcc/configure
> @@ -7064,7 +7064,13 @@ else
> fi
>
> if test $enable_werror_always = yes; then :
> - strict_warn="$strict_warn${strict_warn:+ }-Werror"
> + strict_warn="$strict_warn${strict_warn:+ }-Werror"
> + case $host in #(
> + s390*-*-*) :
> + strict_warn="$strict_warn -Wno-error=maybe-uninitialized" ;; #(
> + *) :
> + ;;
> +esac
> fi
>
> ac_ext=cpp
> @@ -19013,7 +19019,7 @@ else
> lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
> lt_status=$lt_dlunknown
> cat > conftest.$ac_ext <<_LT_EOF
> -#line 19016 "configure"
> +#line 19022 "configure"
> #include "confdefs.h"
>
> #if HAVE_DLFCN_H
> @@ -19119,7 +19125,7 @@ else
> lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
> lt_status=$lt_dlunknown
> cat > conftest.$ac_ext <<_LT_EOF
> -#line 19122 "configure"
> +#line 19128 "configure"
> #include "confdefs.h"
>
> #if HAVE_DLFCN_H
> diff --git a/libcc1/configure b/libcc1/configure
> index 3610219ba65..e95274d0d46 100755
> --- a/libcc1/configure
> +++ b/libcc1/configure
> @@ -14835,7 +14835,13 @@ else
> fi
>
> if test $enable_werror_always = yes; then :
> - WERROR="$WERROR${WERROR:+ }-Werror"
> + WERROR="$WERROR${WERROR:+ }-Werror"
> + case $host in #(
> + s390*-*-*) :
> + WERROR="$WERROR -Wno-error=maybe-uninitialized" ;; #(
> + *) :
> + ;;
> +esac
> fi
>
> ac_ext=c
> diff --git a/libcpp/configure b/libcpp/configure
> index 7e28606f605..db378c363ee 100755
> --- a/libcpp/configure
> +++ b/libcpp/configure
> @@ -5142,7 +5142,13 @@ else
> fi
>
> if test $enable_werror_always = yes; then :
> - WERROR="$WERROR${WERROR:+ }-Werror"
> + WERROR="$WERROR${WERROR:+ }-Werror"
> + case $host in #(
> + s390*-*-*) :
> + WERROR="$WERROR -Wno-error=maybe-uninitialized" ;; #(
> + *) :
> + ;;
> +esac
> fi
>
> ac_ext=c
> diff --git a/libdecnumber/configure b/libdecnumber/configure
> index 6b62f8ba665..7035aef58dd 100755
> --- a/libdecnumber/configure
> +++ b/libdecnumber/configure
> @@ -3661,7 +3661,13 @@ else
> fi
>
> if test $enable_werror_always = yes; then :
> - WERROR="$WERROR${WERROR:+ }-Werror"
> + WERROR="$WERROR${WERROR:+ }-Werror"
> + case $host in #(
> + s390*-*-*) :
> + WERROR="$WERROR -Wno-error=maybe-uninitialized" ;; #(
> + *) :
> + ;;
> +esac
> fi
>
> ac_ext=c
>