1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-24 01:29:19 +03:00

IWYU widely useful pragmas

Add various widely useful "IWYU pragma" annotations, such as

- Common header files such as c.h, postgres.h should be "always_keep".

- System headers included in c.h, postgres.h etc. should be considered
  "export".

- Some portability headers such as getopt_long.h should be
  "always_keep", so they are not considered superfluous on some
  platforms.

- Certain system headers included from portability headers should be
  considered "export" because the purpose of the portability header is
  to wrap them.

- Superfluous includes marked as "for backward compatibility" get a
  formal IWYU annotation.

- Generated header included in utils/syscache.h is marked exported.
  This is a very commonly used include and this avoids lots of
  complaints.

Discussion: https://www.postgresql.org/message-id/flat/9395d484-eff4-47c2-b276-8e228526c8ae@eisentraut.org
This commit is contained in:
Peter Eisentraut
2025-01-15 18:57:53 +01:00
parent 761c79508e
commit 74938d1320
12 changed files with 30 additions and 10 deletions

View File

@@ -44,6 +44,7 @@
#include "fe-auth-sasl.h"
#include "pqexpbuffer.h"
/* IWYU pragma: begin_exports */
#ifdef ENABLE_GSS
#if defined(HAVE_GSSAPI_H)
#include <gssapi.h>
@@ -51,6 +52,7 @@
#include <gssapi/gssapi.h>
#endif
#endif
/* IWYU pragma: end_exports */
#ifdef ENABLE_SSPI
#define SECURITY_WIN32