[clang] [clang] Fix PointerAuth semantics of cpp_trivially_relocatable (PR #143969)
Oliver Hunt via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 16 00:29:55 PDT 2025
================
@@ -629,25 +629,46 @@ class ASTContext : public RefCountedBase<ASTContext> {
void setRelocationInfoForCXXRecord(const CXXRecordDecl *,
CXXRecordDeclRelocationInfo);
- /// Examines a given type, and returns whether the T itself
+ /// Examines a given type, and returns whether the type itself
/// is address discriminated, or any transitively embedded types
/// contain data that is address discriminated. This includes
/// implicitly authenticated values like vtable pointers, as well as
/// explicitly qualified fields.
- bool containsAddressDiscriminatedPointerAuth(QualType T);
- // A simple helper function to short circuit pointer auth checks.
+ bool containsAddressDiscriminatedPointerAuth(QualType T) {
+ if (!isPointerAuthenticationAvailable())
+ return false;
+ return findPointerAuthContent(T) != PointerAuthContent::None;
+ }
----------------
ojhunt wrote:
Good question, it's possible I updated it without verifying it was needed.
https://github.com/llvm/llvm-project/pull/143969
More information about the cfe-commits
mailing list