[PATCH 1/1] regex: fix broken clang build

2022-06-14 Thread Darren Kenny
The use of variable-length arrays (VLAs) is disabled by default in clang 9 and above. The same pragma that works for GCC also works for clang, so check for clang 9+ too. Signed-off-by: Darren Kenny --- lib/regex.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/reg

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-14 Thread Paul Eggert
Why isn't a similar patch needed for lib/regex.c? Can you determine the earliest version of Clang that supports both "# pragma GCC diagnostic push" and "# pragma GCC diagnostic ignored "-Wvla""? A quick glance at the archived manuals suggests it goes back to at least Clang 4 but I suspect it's

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-14 Thread Jeffrey Walton
On Tue, Jun 14, 2022 at 9:25 AM Darren Kenny wrote: > > The use of variable-length arrays (VLAs) is disabled by default in > clang 9 and above. > > The same pragma that works for GCC also works for clang, so check for > clang 9+ too. > > Signed-off-by: Darren Kenny > --- > lib/regex.h | 6 --

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-15 Thread Paul Eggert
On 6/14/22 23:51, Jeffrey Walton wrote: I think you should use __apple_build_version__ to differentiate between Apple Clang and LLVM Clang. As near as I can make out, support for -Wvla was added in Clang 2.8, which I hope is old enough that we need not worry about Apple messing with Clang ver

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-16 Thread Bruno Haible
Paul Eggert asked: > Can you determine the earliest version of Clang that supports both "# > pragma GCC diagnostic push" and "# pragma GCC diagnostic ignored > "-Wvla""? A quick glance at the archived manuals suggests it goes back > to at least Clang 4 but I suspect it's earlier. Knowing is bett

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-16 Thread Bruno Haible
Darren Kenny wrote: > The use of variable-length arrays (VLAs) is disabled by default in > clang 9 and above. I think this is an incorrect statement. When I compile this file (with pragmas commented out) === foo.c == // # pragma GCC diagnost

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-16 Thread Bruno Haible
Paul Eggert: > What a mess this stuff is. Maybe it would be simpler to disable all -W > options by default under Clang. That would be a bit extreme. Some of the clang warnings are as useful as the corresponding GCC warnings. Some clang warnings signal problems for which GCC does not have the corr

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-16 Thread Bruno Haible
Jeffrey Walton wrote: > I think you should use __apple_build_version__ to differentiate > between Apple Clang and LLVM Clang. Correct; we have seen this already in the past (see e.g. gnulib-common.m4). > LLVM's Clang 9.0 was released September 2021. That corresponds to > Xcode 13 and Apple's Clan

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-16 Thread Paul Eggert
On 6/16/22 16:09, Bruno Haible wrote: (defined __apple_build_version__ \ ? 600 <= __apple_build_version__ \ : 3 < __clang_major__ + (9 <= __clang_minor__)) This should be protected by defined __clang_major__ for the sam

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-16 Thread Bruno Haible
Paul Eggert wrote: > > (defined __apple_build_version__ \ > > ? 600 <= __apple_build_version__ \ > > : 3 < __clang_major__ + (9 <= __clang_minor__)) > This should be protected by defined __clang_major__ for the same reaso

Re: [PATCH 1/1] regex: fix broken clang build

2022-06-17 Thread Darren Kenny
Hi Bruno, On Thursday, 2022-06-16 at 23:20:58 +02, Bruno Haible wrote: > Darren Kenny wrote: >> The use of variable-length arrays (VLAs) is disabled by default in >> clang 9 and above. > > I think this is an incorrect statement. > > When I compile this file (with pragmas commented out) > =