[libcxx-commits] [libcxx] [libc++] Remove explicit mentions of __need_FOO macros (PR #119025)

Petr Hosek via libcxx-commits libcxx-commits at lists.llvm.org
Tue Dec 17 09:48:31 PST 2024


petrhosek wrote:

We started seeing a different failure on our downstream builders after this change:
```
FAILED: libcxx/src/CMakeFiles/cxx_static.dir/charconv.cpp.o 
/b/s/w/ir/x/w/llvm_build/./bin/clang++ --target=aarch64-unknown-linux-gnu --sysroot=/b/s/w/ir/x/w/cipd/linux -DLIBCXX_BUILDING_LIBCXXABI -DLIBC_NAMESPACE=__llvm_libc_common_utils -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/s/w/ir/x/w/llvm-llvm-project/libcxx/src -I/b/s/w/ir/x/w/llvm_build/include/aarch64-unknown-linux-gnu/c++/v1 -I/b/s/w/ir/x/w/llvm_build/include/c++/v1 -I/b/s/w/ir/x/w/llvm-llvm-project/libcxxabi/include -I/b/s/w/ir/x/w/llvm-llvm-project/runtimes/cmake/Modules/../../../libc --target=aarch64-unknown-linux-gnu -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffile-prefix-map=/b/s/w/ir/x/w/llvm_build/runtimes/runtimes-aarch64-unknown-linux-gnu-bins=../../../llvm-llvm-project -ffile-prefix-map=/b/s/w/ir/x/w/llvm-llvm-project/= -no-canonical-prefixes -O2 -g -DNDEBUG -std=c++2b -UNDEBUG -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -fsized-deallocation -Wall -Wextra -Wnewline-eof -Wshadow -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wunused-template -Wformat-nonliteral -Wzero-length-array -Wdeprecated-redundant-constexpr-static-def -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/charconv.cpp.o -MF libcxx/src/CMakeFiles/cxx_static.dir/charconv.cpp.o.d -o libcxx/src/CMakeFiles/cxx_static.dir/charconv.cpp.o -c /b/s/w/ir/x/w/llvm-llvm-project/libcxx/src/charconv.cpp
In file included from /b/s/w/ir/x/w/llvm-llvm-project/libcxx/src/charconv.cpp:12:
In file included from /b/s/w/ir/x/w/llvm-llvm-project/libcxx/src/include/from_chars_floating_point.h:25:
In file included from /b/s/w/ir/x/w/llvm-llvm-project/libcxx/src/include/to_chars_floating_point.h:20:
In file included from /b/s/w/ir/x/w/llvm_build/include/c++/v1/__algorithm/find.h:33:
In file included from /b/s/w/ir/x/w/llvm_build/include/c++/v1/cwchar:114:
In file included from /b/s/w/ir/x/w/llvm_build/include/c++/v1/cwctype:57:
In file included from /b/s/w/ir/x/w/llvm_build/include/c++/v1/wctype.h:65:
In file included from /b/s/w/ir/x/w/cipd/linux/usr/include/wctype.h:33:
In file included from /b/s/w/ir/x/w/llvm_build/include/c++/v1/wchar.h:121:
In file included from /b/s/w/ir/x/w/llvm_build/include/c++/v1/__mbstate_t.h:47:
In file included from /b/s/w/ir/x/w/cipd/linux/usr/include/wchar.h:36:
In file included from /b/s/w/ir/x/w/llvm_build/include/c++/v1/stdio.h:109:
In file included from /b/s/w/ir/x/w/cipd/linux/usr/include/stdio.h:74:
In file included from /b/s/w/ir/x/w/cipd/linux/usr/include/libio.h:31:
/b/s/w/ir/x/w/cipd/linux/usr/include/_G_config.h:24:3: error: unknown type name '__mbstate_t'
   24 |   __mbstate_t __state;
      |   ^
/b/s/w/ir/x/w/cipd/linux/usr/include/_G_config.h:29:3: error: unknown type name '__mbstate_t'
   29 |   __mbstate_t __state;
      |   ^
2 errors generated.
```
This is while building libc++ for Linux against Debian 8 "jessie" sysroot.

https://github.com/llvm/llvm-project/pull/119025


More information about the libcxx-commits mailing list