All supported systems have locale_t.
authorThomas Munro <[email protected]>
Sat, 8 Jul 2023 23:55:03 +0000 (11:55 +1200)
committerThomas Munro <[email protected]>
Sat, 8 Jul 2023 23:55:18 +0000 (11:55 +1200)
commit8d9a9f034e925568342c7ccfd8d351a3cd20e7f3
tree83a10a9ce2044e613c66dc8cd5275840f9629ced
parente9f15bc9db7564a29460d089c0917590bc13fffc
All supported systems have locale_t.

locale_t is defined by POSIX.1-2008 and SUSv4, and available on all
targeted systems.  For Windows, win32_port.h redirects to a partial
implementation called _locale_t.  We can now remove a lot of
compile-time tests for HAVE_LOCALE_T, and associated comments and dead
code branches that were needed for older computers.

Since configure + MinGW builds didn't detect locale_t but now we assume
that all systems have it, further inconsistencies among the 3 Windows build
systems were revealed.  With this commit, we no longer define
HAVE_WCSTOMBS_L and HAVE_MBSTOWCS_L on any Windows build system, but
we have logic to deal with that so that replacements are available where
appropriate.

Reviewed-by: Noah Misch <[email protected]>
Reviewed-by: Tristan Partin <[email protected]>
Reviewed-by: Peter Eisentraut <[email protected]>
Discussion: https://postgr.es/m/CA%2BhUKGLg7_T2GKwZFAkEf0V7vbnur-NfCjZPKZb%3DZfAXSV1ORw%40mail.gmail.com
12 files changed:
config/c-library.m4
configure
meson.build
src/backend/commands/collationcmds.c
src/backend/regex/regc_pg_locale.c
src/backend/utils/adt/formatting.c
src/backend/utils/adt/like.c
src/backend/utils/adt/like_support.c
src/backend/utils/adt/pg_locale.c
src/include/pg_config.h.in
src/include/utils/pg_locale.h
src/tools/msvc/Solution.pm