[clang] [clang] Fix PointerAuth semantics of cpp_trivially_relocatable (PR #143969)
Corentin Jabot via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 12 22:05:58 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});
----------------
cor3ntin wrote:
hum, sorry, `try_emplace`
https://github.com/llvm/llvm-project/pull/143969
More information about the cfe-commits
mailing list