Right, this did not showed up on build-many-glibc.py. My plan is to touch as little code as possible since we are in slush freeze and sync again with gnulib once we set development for 2.34.
I will fix this as well. On 20/01/2021 12:32, Vaseeharan Vinayagamoorthy wrote: > Thanks for the fix, Adhemerval Zanella. > I assume you would fix this in other files too, for example I think a similar > patch is needed for posix/fnmatch.c. > > fnmatch.c:67:26: error: "__clang_major__" is not defined [-Werror=undef] > # if (__GNUC__ >= 7) || (__clang_major__ >= 10) > ^~~~~~~~~~~~~~~ > > > > On 20/01/2021, 11:27, "Adhemerval Zanella" <adhemerval.zane...@linaro.org> > wrote: > > > > On 19/01/2021 23:55, Paul Eggert wrote: > > On 1/19/21 7:43 AM, Bruno Haible wrote: > >> Adhemerval Zanella wrote: > >>> -# if (__GNUC__ >= 7) || (__clang_major__ >= 10) > >>> +# if (__GNUC__ >= 7) || (defined __clang_major__ &&__clang_major__ > >= 10) > >> I would write it as: > >> > >> +# if (__GNUC__ >= 7) || (defined __clang__ && __clang_major__ >= 10) > > > > This line should be used only if _LIBC is defined, so we can simplify > it to just "#if __GNUC__ >= 7" and thus not worry about Clang. > > > > I see that Gnulib wasn't consistent about this, so I installed the > attached patch to Gnulib to fix the issue here and elsewhere. The idea is > that the Gnulib regex_internal.h can be copied back to glibc, and that the > other uses in Gnulib should be similar. > > Thanks, I will check with a bootstrap build and sync regex_internal.h > with glibc. > > > > > On 1/19/21 6:43 AM, Adhemerval Zanella wrote: > > > >> Paul, this seemed to a common pattern scatter on multiple file in > gnulib. > >> Wouldn't be better to consolidate it on cdefs.h? > > > > We could append something like the following to cdefs.h, and switch to > __attribute_fallthrough__ for modules shared between the two systems. Is that > something you'd like to pursue? (We should also sync Gnulib cdefs.h back to > glibc of course.) > > > > #if defined __STDC_VERSION__ && 201710L < __STDC_VERSION__ > > # define __attribute_fallthrough__ [[__fallthrough__]] > > #elif __GNUC_PREREQ (7, 0) || __glibc_has_attribute (__fallthrough__) > > # define __attribute_fallthrough__ __attribute__ ((__fallthrough__)) > > #else > > # define __attribute_fallthrough__ ((void) 0) > > #endif > > Yes, for 2.34 I will send some patches to sync the remaining gnulib > files and document from our part the shared files. >