BUG #19395: Postgres master: undeclared function 'typeof_unqual'

Started by PG Bug reporting form3 months ago2 messagesbugs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following bug has been logged on the website:

Bug reference: 19395
Logged by: RekGRpth
Email address: rekgrpth@gmail.com
PostgreSQL version: Unsupported/Unknown
Operating system: docker alpine 3.23
Description:

Postgres master stopped compiling on Docker Alpine 3.23 after commit
4cfce4e62c8f09f5b1f6a7f69760ca46a74406e2
```
#9 159.2 bootstrap.c:964:3: error: call to undeclared function
'typeof_unqual'; ISO C99 and later do not support implicit function
declarations [-Wimplicit-function-declaration]
#9 159.2 964 | copyObject(indexInfo->ii_Expressions);
#9 159.2 | ^
#9 159.2 ../../../src/include/nodes/nodes.h:230:27: note: expanded from
macro 'copyObject'
#9 159.2 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 159.2 | ^
#9 159.2 bootstrap.c:964:3: error: expected expression
#9 159.2 ../../../src/include/nodes/nodes.h:230:50: note: expanded from
macro 'copyObject'
#9 159.2 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 159.2 | ^
#9 159.2 bootstrap.c:968:3: error: expected expression
#9 159.2 968 | copyObject(indexInfo->ii_Predicate);
#9 159.2 | ^
#9 159.2 ../../../src/include/nodes/nodes.h:230:50: note: expanded from
macro 'copyObject'
#9 159.2 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 159.2 | ^
#9 159.2 3 errors generated.
...
#9 167.4 analyze.c:3184:27: error: call to undeclared function
'typeof_unqual'; ISO C99 and later do not support implicit function
declarations [-Wimplicit-function-declaration]
#9 167.4 3184 | stmt->into->viewQuery = copyObject(query);
#9 167.4 | ^
#9 167.4 ../../../src/include/nodes/nodes.h:230:27: note: expanded from
macro 'copyObject'
#9 167.4 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 167.4 | ^
#9 167.4 analyze.c:3184:27: error: expected expression
#9 167.4 ../../../src/include/nodes/nodes.h:230:50: note: expanded from
macro 'copyObject'
#9 167.4 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 167.4 | ^
#9 167.4 analyze.c:3293:33: error: call to undeclared function
'typeof_unqual'; ISO C99 and later do not support implicit function
declarations [-Wimplicit-function-declaration]
#9 167.4 3293 | outargs =
lappend(outargs, copyObject(n));
#9 167.4 |
^
#9 167.4 ../../../src/include/nodes/nodes.h:230:27: note: expanded from
macro 'copyObject'
#9 167.4 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 167.4 | ^
#9 167.4 analyze.c:3293:33: error: expected expression
#9 167.4 ../../../src/include/nodes/nodes.h:230:50: note: expanded from
macro 'copyObject'
#9 167.4 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 167.4 | ^
#9 167.4 4 errors generated.
#9 167.4 make[2]: *** [../../../src/Makefile.global:1103: analyze.bc] Error
1
...

#9 168.7 gram.y:19536:12: error: call to undeclared function
'typeof_unqual'; ISO C99 and later do not support implicit function
declarations [-Wimplicit-function-declaration]
#9 168.7 19536 | result = copyObject(p->argType);
#9 168.7 | ^
#9 168.7 ../../../src/include/nodes/nodes.h:230:27: note: expanded from
macro 'copyObject'
#9 168.7 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 168.8 | ^
#9 168.8 gram.y:19536:12: error: expected expression
#9 168.8 ../../../src/include/nodes/nodes.h:230:50: note: expanded from
macro 'copyObject'
#9 168.8 230 | #define copyObject(obj) ((typeof_unqual(*(obj)) *)
copyObjectImpl(obj))
#9 168.8 | ^
#9 168.8 2 errors generated.
#9 168.8 make[2]: Leaving directory
'/var/lib/postgresql/src/postgres/src/backend/parser'
#9 168.8 make[2]: *** [../../../src/Makefile.global:1103: gram.bc] Error 1
```

#2Euler Taveira
euler@eulerto.com
In reply to: PG Bug reporting form (#1)
Re: BUG #19395: Postgres master: undeclared function 'typeof_unqual'

On Fri, Feb 6, 2026, at 12:08 AM, PG Bug reporting form wrote:

Postgres master stopped compiling on Docker Alpine 3.23 after commit
4cfce4e62c8f09f5b1f6a7f69760ca46a74406e2

Did you read the follow-up discussion [1]/messages/by-id/a18378cc-69f5-4eaa-999b-1fcfc9b1ed7f@eisentraut.org? Since the issue is in the
development branch, the good practice is to post this email in the thread
indicated in the commit message. Hence, the committer is aware of the issue.
That's specially important if the CI or buildfarm don't detect it.

commit: 4cfce4e62c8f09f5b1f6a7f69760ca46a74406e2
author: Peter Eisentraut <peter@eisentraut.org>
date: Wed, 4 Feb 2026 08:39:55 +0100
committer: Peter Eisentraut <peter@eisentraut.org>
date: Wed, 4 Feb 2026 09:22:41 +0100
Change copyObject() to use typeof_unqual
.
.
.
Reviewed-by: David Geier <geidav.pg@gmail.com>
Discussion: /messages/by-id/92f9750f-c7f6-42d8-9a4a-85a3cbe808f3@eisentraut.org

As you can see, the problem was detected by buildfarm and there is an ongoing
discussion about how to fix it.

[1]: /messages/by-id/a18378cc-69f5-4eaa-999b-1fcfc9b1ed7f@eisentraut.org

--
Euler Taveira
EDB https://www.enterprisedb.com/