On 06.01.25 15:52, Peter Eisentraut wrote:
On 03.01.25 21:51, Dagfinn Ilmari Mannsåker wrote:
Peter Eisentraut <pe...@eisentraut.org> writes:

I suggest we define pg_noreturn as

1. If C11 is supported, then _Noreturn, else
2. If GCC-compatible, then __attribute__((noreturn)), else

Would it be worth also checking __has_attribute(noreturn)?  Or do all
compilers that have __attribute__((noreturn)) claim to be GCC?

I don't think that would expand the set of supported compilers in a significant way.  We can always add it if we find one, of course.

In fact, as another thought, we could even drop #2. Among the GCC-compatible compilers, both GCC and Clang have supported #1 for ages, and the only other candidate I could find on the build farm is the Solaris compiler, which also supports C11 by default, per its documentation.

3. If MSVC, then __declspec((noreturn))


Reply via email to