Re: cpluspluscheck vs ICU
От | Peter Eisentraut |
---|---|
Тема | Re: cpluspluscheck vs ICU |
Дата | |
Msg-id | 2d7acd18-b785-203a-e4b3-950303c5e0dd@eisentraut.org обсуждение исходный текст |
Ответ на | Re: cpluspluscheck vs ICU (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On 08.08.23 01:35, Andres Freund wrote: > Hi, > > On 2023-03-10 20:10:30 -0800, Andres Freund wrote: >> On 2023-03-10 19:37:27 -0800, Andres Freund wrote: >>> I just hit this once more - and I figured out a fairly easy fix: >>> >>> We just need a >>> #ifndef U_DEFAULT_SHOW_DRAFT >>> #define U_DEFAULT_SHOW_DRAFT 0 >>> #endif >>> before including unicode/ucol.h. >>> >>> At first I was looking at >>> #define U_SHOW_CPLUSPLUS_API 0 >>> and >>> #define U_HIDE_INTERNAL_API 1 >>> which both work, but they are documented to be internal. >> >> Err. Unfortunately only the U_SHOW_CPLUSPLUS_API approach actually works. The >> others don't, not quite sure what I was doing earlier. >> >> So it's either relying on a define marked as internal, or the below: >> >>> Alternatively we could emit U_DEFAULT_SHOW_DRAFT 0 into pg_config.h to avoid >>> that issue. >>> >>> >>> The only other thing I see is to do something like: >>> [ugly] >>> which seems mighty ugly. > > The ICU docs talk about it like it's not really internal: > https://github.com/unicode-org/icu/blob/720e5741ccaa112c4faafffdedeb7459b66c5673/docs/processes/release/tasks/healthy-code.md#test-icu4c-headers > > So I'm inclined to go with that solution. This looks sensible to me. Perhaps undef U_SHOW_CPLUSPLUS_API after including the headers, so that if extensions want to use the ICU C++ APIs, they are not tripped up by this?
В списке pgsql-hackers по дате отправления: