https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118725
Bug ID: 118725
Summary: libcpp build failure with NLS enabled
Product: gcc
Version: 14.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: judge.packham at gmail dot com
Target Milestone: ---
We have a crosstool-ng config
(x86_64-w64-mingw32,arm-cortexa9_neon-linux-gnueabihf) that enables NLS
support. When we get to building libcpp we hit the following build failure
[ALL ] In file included from
/home/ctng/crosstool-ng/.build/HOST-x86_64-w64-mingw32/arm-cortexa9_neon-linux-gnueabihf/src/gcc/libcpp/identifiers.cc:26:
[ERROR]
/home/ctng/crosstool-ng/.build/HOST-x86_64-w64-mingw32/arm-cortexa9_neon-linux-gnueabihf/buildtools/complibs-host/include/libintl.h:1089:34:
error: expected unqualified-id before 'const'
[ALL ] 1089 | char *setlocale (int __category, const char *__locale)
[ALL ] | ^~~~~
[ALL ]
/home/ctng/crosstool-ng/.build/HOST-x86_64-w64-mingw32/arm-cortexa9_neon-linux-gnueabihf/src/gcc/libcpp/system.h:275:39:
note: in definition of macro 'setlocale'
[ALL ] 275 | # define setlocale(category, locale) (locale)
[ALL ] | ^~~~~~
I think libcpp's configure is missing a check for setlocale so it ends up
defining a fallback setlocale macro that confuses things when it sees the
definition in libintl.h.