Skip to content

Conversation

@ojhunt
Copy link
Contributor

@ojhunt ojhunt commented Dec 14, 2025

No description provided.

@github-actions
Copy link

⚠️ C/C++ code formatter, clang-format found issues in your code. ⚠️

You can test this locally with the following command:
git-clang-format --diff origin/main HEAD --extensions cpp,h -- clang/include/clang/AST/ASTContext.h clang/lib/AST/ASTContext.cpp clang/lib/Sema/Sema.cpp clang/lib/Sema/SemaDecl.cpp clang/test/SemaCXX/ptrauth-type-traits.cpp --diff_from_common_commit

⚠️
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing origin/main to the base branch/commit you want to compare against.
⚠️

View the diff from clang-format here.
diff --git a/clang/include/clang/AST/ASTContext.h b/clang/include/clang/AST/ASTContext.h
index bfa3ddebf..f6c7e8020 100644
--- a/clang/include/clang/AST/ASTContext.h
+++ b/clang/include/clang/AST/ASTContext.h
@@ -696,7 +696,9 @@ public:
   bool containsAddressDiscriminatedPointerAuth(QualType T) const {
     if (!isPointerAuthenticationAvailable())
       return false;
-    return (findPointerAuthContent(T) & PointerAuthContent::ContainsAddressDiscriminatedData) != PointerAuthContent::ContainsNone;
+    return (findPointerAuthContent(T) &
+            PointerAuthContent::ContainsAddressDiscriminatedData) !=
+           PointerAuthContent::ContainsNone;
   }
 
   /// Examines a given type, and returns whether the type itself
@@ -707,13 +709,17 @@ public:
   bool containsNonRelocatablePointerAuth(QualType T) {
     if (!isPointerAuthenticationAvailable())
       return false;
-    return (findPointerAuthContent(T) & PointerAuthContent::ContainsAddressDiscriminatedData) != PointerAuthContent::ContainsNone;
+    return (findPointerAuthContent(T) &
+            PointerAuthContent::ContainsAddressDiscriminatedData) !=
+           PointerAuthContent::ContainsNone;
   }
 
   bool containsDefaultAuthenticatedFunctionPointer(QualType T) {
     if (!isPointerAuthenticationAvailable())
       return false;
-    return (findPointerAuthContent(T) & PointerAuthContent::ContainsDefaultAuthenticatedFunction) != PointerAuthContent::ContainsNone;
+    return (findPointerAuthContent(T) &
+            PointerAuthContent::ContainsDefaultAuthenticatedFunction) !=
+           PointerAuthContent::ContainsNone;
   }
 
   // A simple helper function to short circuit pointer auth checks.
@@ -731,8 +737,11 @@ private:
     ContainsAddressDiscriminatedVTable = 1 << 0,
     ContainsAddressDiscriminatedData = 1 << 1,
     ContainsDefaultAuthenticatedFunction = 1 << 2,
-    ContainsAllFlags = ContainsAddressDiscriminatedVTable | ContainsAddressDiscriminatedData | ContainsDefaultAuthenticatedFunction,
-    LLVM_MARK_AS_BITMASK_ENUM(/*LargestValue=*/ContainsDefaultAuthenticatedFunction)
+    ContainsAllFlags = ContainsAddressDiscriminatedVTable |
+                       ContainsAddressDiscriminatedData |
+                       ContainsDefaultAuthenticatedFunction,
+    LLVM_MARK_AS_BITMASK_ENUM(
+        /*LargestValue=*/ContainsDefaultAuthenticatedFunction)
   };
 
   PointerAuthContent findPointerAuthContent(QualType T) const;
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index eccce701c..df8deecfd 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -1647,8 +1647,10 @@ ASTContext::findPointerAuthContent(QualType T) const {
     Result = Result | PointerAuthContent::ContainsAddressDiscriminatedData;
   if (T->isFunctionPointerType()) {
     PointerAuthQualifier ExplicitQualifier = T.getPointerAuth();
-    if (!ExplicitQualifier.isPresent() || !ExplicitQualifier.isAddressDiscriminated())
-      Result = Result | PointerAuthContent::ContainsDefaultAuthenticatedFunction;
+    if (!ExplicitQualifier.isPresent() ||
+        !ExplicitQualifier.isAddressDiscriminated())
+      Result =
+          Result | PointerAuthContent::ContainsDefaultAuthenticatedFunction;
   }
   const RecordDecl *RD = T->getAsRecordDecl();
   if (!RD)
@@ -1671,7 +1673,8 @@ ASTContext::findPointerAuthContent(QualType T) const {
   };
   auto ShouldContinueAfterUpdate = [&](PointerAuthContent NewFlag) {
     Result = Result | NewFlag;
-    if ((NewFlag & PointerAuthContent::ContainsAddressDiscriminatedVTable) != PointerAuthContent::ContainsNone)
+    if ((NewFlag & PointerAuthContent::ContainsAddressDiscriminatedVTable) !=
+        PointerAuthContent::ContainsNone)
       Result = Result | PointerAuthContent::ContainsAddressDiscriminatedData;
     return Result != PointerAuthContent::ContainsAllFlags;
   };
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp
index dabcd1596..75a3ab293 100644
--- a/clang/lib/Sema/Sema.cpp
+++ b/clang/lib/Sema/Sema.cpp
@@ -994,9 +994,7 @@ void Sema::getUndefinedButUsed(
   }
 }
 
-static void checkQuestionableGlobalFunctionPointers(Sema &S) {
-  
-}
+static void checkQuestionableGlobalFunctionPointers(Sema &S) {}
 
 /// checkUndefinedButUsed - Check for undefined objects with internal linkage
 /// or that are inline.
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index dd63f2c76..22eab65a2 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -15055,9 +15055,11 @@ void Sema::CheckCompleteVariableDeclaration(VarDecl *var) {
     CheckCompleteDecompositionDeclaration(DD);
 
   if (GlobalStorage && Context.isPointerAuthenticationAvailable() &&
-      !Diags.isIgnored(diag::warn_ptrauth_weak_global_function_pointer, var->getLocation())) {
+      !Diags.isIgnored(diag::warn_ptrauth_weak_global_function_pointer,
+                       var->getLocation())) {
     if (Context.containsDefaultAuthenticatedFunctionPointer(var->getType())) {
-      Diag(var->getLocation(), diag::warn_ptrauth_weak_global_function_pointer) << var << var->getSourceRange();
+      Diag(var->getLocation(), diag::warn_ptrauth_weak_global_function_pointer)
+          << var << var->getSourceRange();
     }
   }
 }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants