Subject: bug#78903: [PATCH] ISO C99 does not support _Noreturn

From: Eli Zaretskii <[email-masked]>
Date: Thu, 26 Jun 2025 11:23:10 +0300

> From: Helmut Eller <[email-masked]>
> Cc: Paul Eggert <[email-masked]>,  [email-masked]
> Date: Thu, 26 Jun 2025 10:08:54 +0200
> 
> On Thu, Jun 26 2025, Eli Zaretskii wrote:
> 
> >> From: Helmut Eller <[email-masked]>
> >> Date: Thu, 26 Jun 2025 09:20:51 +0200
> >> 
> >> When I use gcc 14 with -std=gnu99 -Wpedantic I get lots of warnings of
> >> the form
> >> 
> >>  warning: ISO C99 does not support ‘_Noreturn’ [-Wpedantic].
> >
> > Why did you use -Wpedantic?
> 
> To get warnings when I use a non-C99 feature.  Emacs' C code should be
> written in C99.  It would be easier to follow that rule it were checked
> automatically.

AFAIK, Emacs is written in C99 with extensions.

Can you tell why the definition of _Noreturn in src/config.in doesn't
work for you?  AFAIU, it exactly defines _Noreturn to use
__attribute__ ((__noreturn__)), but I'm probably missing something.
is the problem that you use clang, and config.in currently doesn't
cater to that?  If so, the change should be in config.in, I think.