================
@@ -78,7 +78,13 @@ namespace {
// the qualifier.
if (!S.Context.getLangOpts().ObjC && !DestType->isRecordType() &&
!DestType->isArrayType() && !DestType.getPointerAuth()) {
- DestType = DestType.getAtomicUnqualifiedType();
+ if (S.Context.getLangOpts().CPlusPlus) {
+ // Note that in C++, _Atomic(T) is a distinct type, not a
----------------
AaronBallman wrote:
Atomic is a distinct type in both languages; in C the specification is weird in
that `_Atomic(T)` is a type *specifier* while `_Atomic T` is a type *qualifier*
but the semantics of the type itself is still that it's an `AtomicType` which
is distinct from the underlying type.
https://github.com/llvm/llvm-project/pull/207616
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits