https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101055
Bug ID: 101055
Summary: should use __has_cpp_attribute() with __
prefixed/suffixed names
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
For example in <tuple> we see
#if __has_cpp_attribute(no_unique_address)
but then we use
[[__no_unique_address__]] _Head _M_head_impl;
presumably to not cause issues with user-defined macros. But the
__has_cpp_attribute check is also subject to macro expansion so we should
use the __X__ form consistently.
This seems to be the only use of __has_cpp_attribute in libstdc++.