CURL_IGNORE_DEPRECATION

Álvaro Herrera <alvherre@kurilemu.de>

From: Álvaro Herrera <alvherre@kurilemu.de>
To: Pg Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Jacob Champion <jacob.champion@enterprisedb.com>, Daniel Gustafsson <daniel@yesql.se>
Date: 2025-11-11T11:41:25Z
Lists: pgsql-hackers

Attachments

Hackers,

I just noticed that we have some ad-hoc hacks for the
CURL_IGNORE_DEPRECATION macro in the pgindent Perl script, which I find
a bit uncomfortable.  Given that we use that macro in a single place,
what do you think about removing that and making a more surgical
intervention to fix pgindent problem with it?  I propose the attached.

For context: in curl, that macro is defined like this

#define CURL_IGNORE_DEPRECATION(statements) \
      _Pragma("GCC diagnostic push") \
      _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
      statements \
      _Pragma("GCC diagnostic pop")

(with #ifdef guards and whatnot).  Because it has a _Pragma after the
statements argument, any uses of this macro must have a terminating
semicolon, which pgindent does not like.  (It's also IMO rather
C-unlike).  So my approach here is to add another macro to insert that
semicolon where it's needed.  Of course, there's nothing we can do with
CURL_IGNORE_DEPRECATION() itself, given that it's upstream from us.

Thoughts?

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
“Cuando no hay humildad las personas se degradan” (A. Christie)

Commits

  1. Change coding pattern for CURL_IGNORE_DEPRECATION()