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-8e228526c...@eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/74938d132093bc0ad99a5420da2e99edaa3734f9

Modified Files
--------------
src/include/c.h                  | 5 +++++
src/include/getopt_long.h        | 3 ++-
src/include/pg_getopt.h          | 5 +++--
src/include/pg_trace.h           | 2 +-
src/include/pgstat.h             | 6 +++---
src/include/port/pg_iovec.h      | 2 +-
src/include/port/pg_pthread.h    | 2 +-
src/include/postgres.h           | 5 +++++
src/include/postgres_ext.h       | 1 +
src/include/postgres_fe.h        | 5 +++++
src/include/utils/syscache.h     | 2 +-
src/interfaces/libpq/libpq-int.h | 2 ++
12 files changed, 30 insertions(+), 10 deletions(-)

Reply via email to