]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Update ICU C++ API symbols
authorJohn Naylor <john.naylor@postgresql.org>
Thu, 7 Aug 2025 10:15:09 +0000 (17:15 +0700)
committerJohn Naylor <john.naylor@postgresql.org>
Thu, 7 Aug 2025 10:15:09 +0000 (17:15 +0700)
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

.cirrus.tasks.yml
src/include/utils/pg_locale.h

index 995ae7cefb9b11e5bb906d6959f9df6b12841411..3a5cdebf3985ce322f582464c66def3606d76d80 100644 (file)
@@ -581,8 +581,6 @@ 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
   # - XXX: the -Wno-register avoids verbose warnings:
   #   https://postgr.es/m/20220308181837.aun3tdtdvao4vb7o%40alap3.anarazel.de
   ###
@@ -590,7 +588,6 @@ task:
     headers_headerscheck_script: |
       time ./configure \
         ${LINUX_CONFIGURE_FEATURES} \
-        --without-icu \
         --quiet \
         CC="gcc" CXX"=g++" CLANG="clang"
       make -s -j${BUILD_JOBS} clean
index de7c5e30d2d7633f4cdf84ed1c25af58ebe45547..fef94bc13bc8f6219ba335dda92796ce62a06787 100644 (file)
 #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