On 07.11.25 16:03, Bertrand Drouvot wrote:
> +/*
> + * Mark a declaration as deprecated with a custom message. The compiler will
> + * emit a warning when the deprecated entity is used.
> + */
> +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L || \
> +defined(__cplusplus) && __cplusplus >= 201402L
This could use some parentheses to disambiguate the && and ||.
Also the second line could be indented (or just put it on one line).
> +#define pg_attribute_deprecated(msg) [[deprecated(msg)]]
> +#elif defined(__GNUC__) || defined(__clang__)
The __clang__ part is not needed, because clang defines __GNUC__ also.
> +#define pg_attribute_deprecated(msg) __attribute__((deprecated(msg)))
> +#elif defined(_MSC_VER)
> +#define pg_attribute_deprecated(msg) __declspec(deprecated(msg))
> +#else
> +#define pg_attribute_deprecated(msg)
> +#endif