Re: cpluspluscheck vs ICU again
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: John Naylor <johncnaylorls@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2025-07-02T07:19:39Z
Lists: pgsql-hackers
On 02.07.25 09:01, John Naylor wrote:
> On Tue, Jul 1, 2025 at 9:24 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Ha, indeed you are right. On my RHEL9 box, it's kinda drowned out
>> by complaints about
>>
>> /usr/include/c++/11/bits/range_access.h:109:3: error: template with C linkage
>> 109 | template<typename _Tp> _Tp* end(valarray<_Tp>&) noexcept;
>> | ^~~~~~~~
>> /tmp/headerscheck.u5CrRM/test.cpp:1:1: note: ‘extern "C"’ linkage started here
>> 1 | extern "C" {
>> | ^~~~~~~~~~
>
> After pushing my fix, I looked into this, and CI works around this by
> disabling ICU. A proper fix was discussed here, but it trailed off:
>
> https://www.postgresql.org/message-id/flat/20230311033727.koa4saxy5wyquu6s%40awork3.anarazel.de#03346c63050bbc69dfca8981a5698e4a
>
> I came up with the attached -- Andres, Peter, does this match your recollection?
This looks sensible to me. Assuming that it works for this purpose, it
seems otherwise harmless.
Commits
-
Update ICU C++ API symbols
- 9560c1ec1c93 13.22 landed
- a4f891b96235 14.19 landed
- baacfb9e609c 15.14 landed
- aae9aad19d82 16.10 landed
- 21ae8fc5fd86 17.6 landed
- dd29262077e8 18.0 landed
- 90bfae9f93e7 19 (unreleased) landed
-
Hide ICU C++ APIs from pg_locale.h
- ed26c4e25a44 19 (unreleased) landed
-
Remove implicit cast from 'void *'
- 3e73d8735371 18.0 landed
- 9adb58a3ccb5 19 (unreleased) landed
-
Inline CRC computation for small fixed-length input on x86
- e2809e3a1015 18.0 cited