Re: Change copyObject() to use typeof_unqual

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>, Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Change copyObject() to use typeof_unqual
Date: 2026-03-17 02:39:29
Message-ID: 314254.1773715169@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> writes:
> I'm still encountering the following error while building from source
> at commit f4af7849b3d when using autoconf:

> execParallel.c:154:9: error: call to undeclared function
> 'typeof_unqual'; ISO C99 and later do not support implicit function
> declarations [-Wimplicit-function-declaration]
> 154 | plan = copyObject(plan);
> | ^

> I'm using Fedora 43 and gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7).

Ugh, yeah, reproduced here. FTR, this platform has

$ gcc --version
gcc (GCC) 15.2.1 20260123 (Red Hat 15.2.1-7)
$ clang --version
clang version 21.1.8 (Fedora 21.1.8-4.fc43)

While this version of clang doesn't like typeof_unqual, it does take
__typeof_unqual__. So maybe we were premature to decide that we
could prefer the typeof_unqual spelling. I can get it to build
if I use __typeof_unqual__.

> The issue doesn't happen when using meson+ninja.

Per upthread, we don't have bitcode compilation working in the
meson buildsystem, so we aren't trying to invoke clang in that
case.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-03-17 02:49:26 Re: Change copyObject() to use typeof_unqual
Previous Message John Naylor 2026-03-17 02:25:22 Re: Proposal for enabling auto-vectorization for checksum calculations