Re: cpluspluscheck vs ICU again
John Naylor <johncnaylorls@gmail.com>
From: John Naylor <johncnaylorls@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Peter Eisentraut <peter@eisentraut.org>
Date: 2025-08-06T12:16:00Z
Lists: pgsql-hackers
On Wed, Aug 6, 2025 at 12:26 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h > index 931f5b3b880..2b072cafb4d 100644 > --- a/src/include/utils/pg_locale.h > +++ b/src/include/utils/pg_locale.h > @@ -18,6 +18,8 @@ > /* only include the C APIs, to avoid errors in cpluspluscheck */ > #undef U_SHOW_CPLUSPLUS_API > #define U_SHOW_CPLUSPLUS_API 0 > +#undef U_SHOW_CPLUSPLUS_HEADER_API > +#define U_SHOW_CPLUSPLUS_HEADER_API 0 > #include <unicode/ucol.h> > #endif > > This shouldn't complicate extensions' lives any further than > before; the rule still is "include ICU headers first > if you want their C++ symbols". > > BTW, I see that you applied ed26c4e25 only to master, but don't > we want to back-patch? cpluspluscheck is not just an exercise in a > vacuum, it's to ensure that C++-coded extensions don't have trouble > with our headers. I was thinking that it was run only when developing new features, not for backpatch-able bug fixes, but that's a flawed assumption. I'll remedy that soon along with the new symbols above, unless you beat me to it. -- John Naylor Amazon Web Services
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