> On 5 Jan 2023, at 23:06, Arsen Arsenović wrote:
>
> Hi,
>
> Paul Eggert writes:
>
>> This is a serious bug in Clang: it generates incorrect machine code.
>>
>> The code that Clang generates for the following (gawk/support/dfa.c lines
>> 1141-1143):
>>
>>((dfa->syntax.dfaopts & DFA_CO
Thanks for the update.
Paul, let's leave dfa.c as is, with the modified code.
It's much easier to read anyway.
Thanks,
Arnold
Arsen Arsenović wrote:
> Hi,
>
> Paul Eggert writes:
>
> > This is a serious bug in Clang: it generates incorrect machine code.
> >
> > The code that Clang generates
Hi,
Paul Eggert writes:
> This is a serious bug in Clang: it generates incorrect machine code.
>
> The code that Clang generates for the following (gawk/support/dfa.c lines
> 1141-1143):
>
> ((dfa->syntax.dfaopts & DFA_CONFUSING_BRACKETS_ERROR
> ? dfaerror : dfawarn)
> (_("charact
> On 3 Jan 2023, at 02:14, Sam James wrote:
>
>
>
>> On 2 Jan 2023, at 06:10, Paul Eggert 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 mistakenl
> On 2 Jan 2023, at 06:10, Paul Eggert 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.
>
This is a serious bug in Clang: it generates incorrect machine code.
The code that Clang generates for the following (gawk/support/dfa.c
lines 1141-1143):
((dfa->syntax.dfaopts & DFA_CONFUSING_BRACKETS_ERROR
? dfaerror : dfawarn)
(_("character class syntax is [[:space:]], not [:
Hi Sam,
Thanks for the further info.
Looking at both bits of dfa.c code, I don't see how either can be
undefined behavior.
In any case, dfa.c is copied directly from GNULIB, so I am cc-ing
bug-gnulib.
Paul & Jim, for background, please see the thread at
https://lists.gnu.org/archive/html/bug-ga