[libcxx-commits] [PATCH] D145508: [libc++] Reject standard attributes which are extensions in libcpp-uglify-attributes
Richard Smith - zygoloid via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Apr 7 14:25:49 PDT 2023
rsmith added a comment.
There still appear to be problems after this patch. It looks like a test that defines these tokens to "weird" things and then tries including the libc++ headers would have caught these issues.
================
Comment at: libcxx/include/__config:1190
# if __has_cpp_attribute(msvc::no_unique_address)
// MSVC implements [[no_unique_address]] as a silent no-op currently.
----------------
This is still broken. We'll fail to compile this header if `msvc` or `no_unique_address` is defined as a macro that expands to something other than a single identifier. My understanding is that the direction on the bug was to remove the `msvc::no_unique_address` handling entirely.
================
Comment at: libcxx/include/__config:1200
# define _LIBCPP_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
# elif __has_cpp_attribute(no_unique_address)
+# define _LIBCPP_NO_UNIQUE_ADDRESS [[__no_unique_address__]]
----------------
This is also still broken, if `no_unique_address` is defined as a macro.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145508/new/
https://reviews.llvm.org/D145508
More information about the libcxx-commits
mailing list