This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [Patch] Fix localedata test builds with latest GCC
- From: Carlos O'Donell <carlos at redhat dot com>
- To: sellcey at cavium dot com, libc-alpha at sourceware dot org
- Cc: zackw at panix dot com
- Date: Fri, 21 Jul 2017 13:14:58 -0400
- Subject: Re: [Patch] Fix localedata test builds with latest GCC
- Authentication-results: sourceware.org; auth=none
- References: <201707192014.v6JKE6JV001711@sellcey-dt.caveonetworks.com>
On 07/19/2017 04:14 PM, Steve Ellcey wrote:
> While testing the latest glibc sources with the latest (ToT) GCC, I ran
> into some build failures (during testing, not during the glibc build).
> This patch fixes the build failures in the localedata subdirectory. I
> believe these started failing with this GCC patch:
>
> https://gcc.gnu.org/ml/gcc-patches/2017-06/msg00537.html
>
> It does not look like older GCC's complain about not understanding this
> option so there does not seem to be any need to conditionalize its usage.
>
> Ok to checkin?
OK.
This looks good to me. The alternative of using the DIAG macros is not
feasibly nor easy, so I'm OK to apply the error removal in a blanket
fashion like this for each of the files.
If you filed an upstream gcc PR please include the PR in the comment.
> Steve Ellcey
> sellcey@cavium.com
>
>
> 2017-07-19 Steve Ellcey <sellcey@cavium.com>
>
> * localedata/Makefile (CFLAGS-tst_iswalnum.c, CFLAGS-tst_iswalpha.c
> CFLAGS-tst_iswcntrl.c, CFLAGS-tst_iswdigit.c, CFLAGS-tst_iswgraph.c,
> CFLAGS-tst_iswlower.c, CFLAGS-tst_iswprint.c, CFLAGS-tst_iswpunct.c,
> CFLAGS-tst_iswspace.c, CFLAGS-tst_iswupper.c, CFLAGS-tst_iswxdigit.c,
> CFLAGS-tst_towlower.c, CFLAGS-tst_towupper.c): New macros.
>
>
> diff --git a/localedata/Makefile b/localedata/Makefile
> index 47ca39d..20c5921 100644
> --- a/localedata/Makefile
> +++ b/localedata/Makefile
> @@ -122,6 +122,21 @@ $(inst_i18ndir)/charmaps/%.gz: charmaps/% $(+force)
> # Install the locale source files in the appropriate directory.
> $(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install)
>
> +# These tests use multistatement macros from tests-mbwc/tst_funcs.h
> +# and will not compile with GCC 8.1 without the warning turned off.
> +CFLAGS-tst_iswalnum.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswalpha.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswcntrl.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswdigit.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswgraph.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswlower.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswprint.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswpunct.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswspace.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswupper.c = -Wno-multistatement-macros
> +CFLAGS-tst_iswxdigit.c = -Wno-multistatement-macros
> +CFLAGS-tst_towlower.c = -Wno-multistatement-macros
> +CFLAGS-tst_towupper.c = -Wno-multistatement-macros
>
> ifeq ($(run-built-tests),yes)
> generated-dirs += $(LOCALES)
>
--
Cheers,
Carlos.