Re: Use standard C23 and C++ attributes if available

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Use standard C23 and C++ attributes if available
Date: 2026-04-01 06:34:39
Message-ID: 5fef914b-1dab-40f4-ad08-c336be412c92@eisentraut.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message shveta malik 2026-04-01 06:36:32 Re: synchronized_standby_slots behavior inconsistent with quorum-based synchronous replication
Previous Message Lukas Fittl 2026-04-01 06:33:50 Re: pg_plan_advice