aboutsummaryrefslogtreecommitdiff
path: root/src/include/postgres.h
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2025-01-15 18:57:53 +0100
committerPeter Eisentraut <peter@eisentraut.org>2025-01-15 18:57:53 +0100
commit74938d132093bc0ad99a5420da2e99edaa3734f9 (patch)
tree91730468d8ce4968b2a6bfefed99ea17f82405fc /src/include/postgres.h
parent761c79508e7fbc33c1b11754bdde4bd03ce9cbb3 (diff)
downloadpostgresql-74938d132093bc0ad99a5420da2e99edaa3734f9.tar.gz
postgresql-74938d132093bc0ad99a5420da2e99edaa3734f9.zip
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
Diffstat (limited to 'src/include/postgres.h')
-rw-r--r--src/include/postgres.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/include/postgres.h b/src/include/postgres.h
index cdce4823e7e..8a41a668687 100644
--- a/src/include/postgres.h
+++ b/src/include/postgres.h
@@ -14,6 +14,7 @@
*
*-------------------------------------------------------------------------
*/
+/* IWYU pragma: always_keep */
/*
*----------------------------------------------------------------
* TABLE OF CONTENTS
@@ -42,10 +43,14 @@
#ifndef POSTGRES_H
#define POSTGRES_H
+/* IWYU pragma: begin_exports */
+
#include "c.h"
#include "utils/elog.h"
#include "utils/palloc.h"
+/* IWYU pragma: end_exports */
+
/* ----------------------------------------------------------------
* Section 1: Datum type + support functions
* ----------------------------------------------------------------