diff options
author | John Naylor <john.naylor@postgresql.org> | 2025-08-07 17:13:55 +0700 |
---|---|---|
committer | John Naylor <john.naylor@postgresql.org> | 2025-08-07 17:13:55 +0700 |
commit | 21ae8fc5fd8698fc47ac1aa9c82e32713d6669be (patch) | |
tree | df4c6834b3b8d0e37c9f46eac0697c4beff945b0 | |
parent | 930e1faec54e9ca63d9d325167ef09fa09b658ff (diff) |
Update ICU C++ API symbols
Recent ICU versions have added U_SHOW_CPLUSPLUS_HEADER_API, and we need
to set this to zero as well to hide the ICU C++ APIs from pg_locale.h
Per discussion, we want cpluspluscheck to work cleanly in backbranches,
so backpatch both this and its predecessor commit ed26c4e25a4 to all
supported versions.
Reported-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/1115793.1754414782%40sss.pgh.pa.us
Backpatch-through: 13
-rw-r--r-- | .cirrus.tasks.yml | 3 | ||||
-rw-r--r-- | src/include/utils/pg_locale.h | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index aa7c7dcd34d..e9e1d3a10b2 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -777,14 +777,11 @@ task: # - Don't use ccache, the files are uncacheable, polluting ccache's # cache # - Use -fmax-errors, as particularly cpluspluscheck can be very verbose - # - XXX have to disable ICU to avoid errors: - # https://postgr.es/m/20220323002024.f2g6tivduzrktgfa%40alap3.anarazel.de ### always: headers_headerscheck_script: | time ./configure \ ${LINUX_CONFIGURE_FEATURES} \ - --without-icu \ --quiet \ CC="gcc" CXX"=g++" CLANG="clang" make -s -j${BUILD_JOBS} clean diff --git a/src/include/utils/pg_locale.h b/src/include/utils/pg_locale.h index 040968d6ff2..0bc93142e91 100644 --- a/src/include/utils/pg_locale.h +++ b/src/include/utils/pg_locale.h @@ -16,6 +16,11 @@ #include <xlocale.h> #endif #ifdef USE_ICU +/* 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 |