[clang] [clang] Fix PointerAuth semantics of cpp_trivially_relocatable (PR #143969)

Corentin Jabot via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 15 23:30:57 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;
+  }
----------------
cor3ntin wrote:

Is that still used?

https://github.com/llvm/llvm-project/pull/143969


More information about the cfe-commits mailing list