bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Clang-built Gawk 5.2.1 regex oddity


From: Sam James
Subject: Re: Clang-built Gawk 5.2.1 regex oddity
Date: Tue, 3 Jan 2023 02:43:14 +0000


> On 3 Jan 2023, at 02:14, Sam James <sam@gentoo.org> wrote:
> 
> 
> 
>> On 2 Jan 2023, at 06:10, Paul Eggert <eggert@cs.ucla.edu> wrote:
>> 
>> This is a serious bug in Clang: it generates incorrect machine code.
>> 
>> [snip]
>> 
>> My guess is that Clang got confused because dfaerror is declared _Noreturn, 
>> so Clang mistakenly assumed that dfawarn is also _Noreturn, which it is not.
>> 
>> I worked around the Clang bug by installed the attached patch into Gnulib. 
>> Please give it a try with Gawk.
> 
> Confirmed this mitigates the problem. I had to apply it manually to support/ 
> as I couldn't immediately see how to sync gnulib myself, but that's no big 
> deal.
> 
>> 
>> Incorrect code generation is a serious bug in Clang; can you please report 
>> it to the Clang folks? I am considering using a bigger hammer, and doing 
>> this:
>> 
> 
> Kenton's done this at https://github.com/llvm/llvm-project/issues/59792 now.
> 
>>  #define _Noreturn /*empty*/
>> 
>> whenever Clang is used, until the bug is fixed.
>> 
> 
> maskray's analysis so far at 
> https://github.com/llvm/llvm-project/issues/59792#issuecomment-1369314436 
> agrees with yours, which would mean
> this is likely a good idea.
> 

By the way, when I ran gnulib's test suite following 
https://sourceware.org/glibc/wiki/Testing/Gnulib, I didn't get any failures
with Clang. I was expecting to get one (before your commit) for DFA.

Maybe we should shoehorn a similar ternary expression into 
tests/test-dfa-match-aux.c so we're guaranteed
a test failure with bad compilers if someone uses the DFA module?

Attachment: signature.asc
Description: Message signed with OpenPGP


reply via email to

[Prev in Thread] Current Thread [Next in Thread]