[libcxx-commits] [libcxx] [libc++] Make ABI annotations explicit for windows-specific code (PR #140507)
Martin Storsjö via libcxx-commits
libcxx-commits at lists.llvm.org
Mon May 19 05:05:47 PDT 2025
mstorsjo wrote:
This seems to fail to compile:
```
llvm-project/libcxx/src/support/win32/locale_win32.cpp:18:1: error: cannot add 'abi_tag' attribute in a redeclaration
18 | _LIBCPP_BEGIN_NAMESPACE_STD
| ^
llvm-project/runtimes/build-aarch64/include/c++/v1/__config:586:39: note: expanded from macro '_LIBCPP_BEGIN_NAMESPACE_STD'
586 | # define _LIBCPP_BEGIN_NAMESPACE_STD _LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD inline namespace _LIBCPP_ABI_NAMESPACE {
| ^
llvm-project/runtimes/build-aarch64/include/c++/v1/__config:581:40: note: expanded from macro '_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD'
581 | _LIBCPP_PUSH_EXTENSION_DIAGNOSTICS _LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS namespace _LIBCPP_NAMESPACE_VISIBILITY std {
| ^
llvm-project/runtimes/build-aarch64/include/c++/v1/__config:566:5: note: expanded from macro '_LIBCPP_END_EXPLICIT_ABI_ANNOTATIONS'
566 | _Pragma(_LIBCPP_TOSTRING(clang attribute _LibcxxExplicitABIAnnotations.push(__attribute__(( \
| ^
<scratch space>:28:110: note: expanded from here
28 | clang attribute _LibcxxExplicitABIAnnotations.push(__attribute__(( __exclude_from_explicit_instantiation__, __abi_tag__("ne210000"))), apply_to = function) | ^
llvm-project/runtimes/build-aarch64/include/c++/v1/__locale_dir/support/windows.h:292:48: note: previous declaration is here
292 | _LIBCPP_ATTRIBUTE_FORMAT(__printf__, 3, 4) int __asprintf(char** __ret, __locale_t __loc, const char* __format, ...);
| ^
```
https://github.com/llvm/llvm-project/pull/140507
More information about the libcxx-commits
mailing list