Use standard C23 and C++ attributes if available - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Use standard C23 and C++ attributes if available
Date
Msg-id a7e4ad20-57d9-4dfb-bdac-6e4246251d02@eisentraut.org
Whole thread Raw
Responses Re: Use standard C23 and C++ attributes if available
List pgsql-hackers
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
Attachment

pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Re: some validate_relation_kind() tidying
Next
From: Nazir Bilal Yavuz
Date:
Subject: Re: Speed up COPY FROM text/CSV parsing using SIMD