Re: headerscheck warnings with late-model gcc

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2025-08-29T07:37:36Z
Lists: pgsql-hackers
On 07.08.25 16:58, Tom Lane wrote:
> Peter Eisentraut <peter@eisentraut.org> writes:
>> Attached are three patches to fix some unrelated problems with
>> headerscheck in my environment.
> 
> 0001 seems fine; it's an oversight that I'd not noticed because
> ICU_CFLAGS is empty in my usage.

committed

> Don't like 0002 as-is.  I'd be okay with skipping that header if
> --with-llvm isn't given.  However, we already tell users that
> they'd better configure --with-perl and --with-python, so maybe
> just add --with-llvm to that list?

Yes, just added documentation.

> 0003: +1, I noticed that too yesterday.

committed

> 0004: I prefer the solution I exhibited yesterday, ie add
> externs to those headers.

That solution seems fine, too.

This comment should be clarified:

+	# This redundant extern declaration is needed to silence headerscheck
+	# warnings with some gcc versions.

You could just write

# silence -Wmissing-variable-declarations

which also appears elsewhere in the code.



Commits

  1. Silence -Wmissing-variable-declarations in headerscheck.

  2. headerscheck: Document that --with-llvm is required

  3. headerscheck: Ignore Windows-specific header

  4. headerscheck: Use ICU_CFLAGS

  5. Add -Wmissing-variable-declarations to the standard compilation flags