On 19.02.26 09:54, Peter Eisentraut wrote:
This is related to the C++ compatibility work in [0].

This patch proposes to use the standard C23 and C++ attributes [[nodiscard]], [[noreturn]], and [[maybe_unused]], if available.

The immediate practical impact is that for pg_noreturn, we can drop the GCC-specific and MSVC-specific fallbacks, because the C11 and the C++ implementation will now cover all required cases.

For the other two attributes, this makes them available in not-GCC- compatible compilers that support C23 as well as in C++.  This set is theoretical at the moment, but it might become more practical if either MSVC gets some C23 support or we improve the support for C++ extensions with MSVC (see also [0]).


[0]: https://www.postgresql.org/message-id/df78eaac- c2eb-4344-852e-0965c75c5ad6%40eisentraut.org

This has been committed. Note that the C++ extension support with MSVC exists now, so this patch has some utility for that.


Reply via email to