Re: allow benign typedef redefinitions (C11)

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Chao Li <li.evan.chao@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-09-15T09:25:31Z
Lists: pgsql-hackers
On 10.09.25 14:08, Chao Li wrote:
>> On Sep 10, 2025, at 14:28, Peter Eisentraut <peter@eisentraut.org> wrote:
>>
>> Thanks.  New patch set attached.
>> <v2-0001-Improve-pgbench-definition-of-yyscan_t.patch><v2-0002-Allow- 
>> redeclaration-of-typedef-yyscan_t.patch><v2-0003-Remove-workarounds- 
>> against-repeat-typedefs.patch><v2-0004-Improve-ExplainState-type- 
>> handling-in-header-file.patch><v2-0005-Update-various-forward- 
>> declarations-to-use-typede.patch><v2-0006-Remove-hbaPort- 
>> type.patch><v2-0007-Change-fmgr.h-typedefs-to-use-original-names.patch>
> 
> v5 looks good to me.

Committed, thanks.




Commits

  1. Move instrumentation-related structs to instrument_node.h

  2. Don't include access/htup_details.h in executor/tuptable.h

  3. Don't include execnodes.h in brin.h or gin.h

  4. Do a tiny bit of header file maintenance

  5. Don't include execnodes.h in replication/conflict.h

  6. Update some more forward declarations to use typedef

  7. Change fmgr.h typedefs to use original names

  8. Improve ExplainState type handling in header files

  9. Remove hbaPort type

  10. Remove workarounds against repeat typedefs

  11. Update various forward declarations to use typedef

  12. Allow redeclaration of typedef yyscan_t

  13. Improve pgbench definition of yyscan_t

  14. Delay extraction of TIDBitmap per page offsets

  15. Remove pgrminclude and associated scripts

  16. Allow to use HeapTupleData embedded in [Buffer]HeapTupleTableSlot.