================ @@ -292,77 +294,129 @@ Sema::CheckCXX2CRelocatableAndReplaceable(const CXXRecordDecl *D) { return HasSuitableSMP(); // is a union with no user-declared special member functions, or - if (IsUnion()) + if (IsTrivialUnion()) return HasSuitableSMP(); // is default-movable. return IsDefaultMovable(); }(); + bool PtrauthMatters = LangOpts.PointerAuthIntrinsics || + LangOpts.PointerAuthVTPtrAddressDiscrimination; + if (PtrauthMatters) { + bool IsUnion = D->isUnion(); + auto RecordPointerAuth = [&](bool HasAddressDiscrimination) { + if (HasAddressDiscrimination && IsUnion) { + Info.IsRelocatable = false; + Info.IsReplaceable = false; + } + }; + auto IsBottomRelocationInfo = [](const CXXRecordDeclRelocationInfo &Info) { ---------------- cor3ntin wrote:
This name does not really speak to me https://github.com/llvm/llvm-project/pull/143796 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits