[clang] [clang] Fix PointerAuth semantics of cpp_trivially_relocatable (PR #143969)
Oliver Hunt via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 12 17:36:53 PDT 2025
================
@@ -1705,6 +1705,40 @@ void ASTContext::setRelocationInfoForCXXRecord(
RelocatableClasses.insert({D, Info});
}
+bool ASTContext::containsAddressDiscriminatedPointerAuth(QualType T) {
+ if (!LangOpts.PointerAuthCalls && !LangOpts.PointerAuthIntrinsics)
+ return false;
+
+ T = T.getCanonicalType();
+ if (T.hasAddressDiscriminatedPointerAuth())
+ return true;
+ const RecordDecl *RD = T->getAsRecordDecl();
+ if (!RD)
+ return false;
+
+ auto SaveReturn = [this, RD](bool Result) {
+ RecordContainsAddressDiscriminatedPointerAuth.insert({RD, Result});
----------------
ojhunt wrote:
llvm's map does not have emplace afaict
https://github.com/llvm/llvm-project/pull/143969
More information about the cfe-commits
mailing list