bug-gnulib
[Top][All Lists]
Advanced

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

Re: Making _Noreturn a no-op in < Clang 16?


From: Sam James
Subject: Re: Making _Noreturn a no-op in < Clang 16?
Date: Fri, 20 Jan 2023 04:20:09 +0000


> On 20 Jan 2023, at 03:40, Paul Eggert <eggert@cs.ucla.edu> wrote:
> 
> On 1/19/23 13:30, Sam James wrote:
>> Right, I just meant that we don't tend to care about quieting warnings with 
>> older compilers,
>> and it's not useful from a static analysis perspective here either given 
>> that older Clangs can't be trusted.
>> It is of course useful as an attribute in general. I don't think either of 
>> these things are really
>> a downside to committing the workaround here. If we get folks who get build 
>> failures with extra warnings
>> enabled, we can tell them to upgrade their compiler.
> 
> But clang 16 isn't out yet, so we can't reasonably tell people to upgrade.
> 
> And even if it clang 16 were out, I can't reasonably tell all Emacs 
> developers to switch to it right away. Many of them are using Apple's 
> compiler and will upgrade whenever. Plain './configure; make' on a 
> bleeding-edge Emacs built from Git with Clang 15 would generate 270 false 
> alarms if we simply did "#define _Noreturn /**/", and I expect many Emacs 
> developers would be annoyed by that (or would stop paying attention to any 
> correct diagnostics mixed in with the flood of false positives).
> 

I take your point and it's fair enough. Thanks for hashing it out with me.

> With that in mind, how about the attached Gnulib patch? (I haven't installed 
> it.) The basic idea is to "#define _Noreturn /**/" on buggy clangs if a 
> cautious builder compiles with 
> -D_GL_WORK_AROUND_LLVM_BUG_5979.<0001-snippet-_Noreturn-work-around-Clang-_Noreturn-bug.patch>

If it's not too much of a hassle, this works for me, because at least we 
advertise the problem a bit, and we can tell distros
to set -D_... if they're stuck on older Clang for a bit.

Cheers Paul.

Best,
sam

Attachment: signature.asc
Description: Message signed with OpenPGP


reply via email to

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