[clang] [lldb] [clang] Add `__ptrauth_restricted_intptr` qualifier (PR #137580)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 27 22:39:51 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions cpp,c,h -- clang/test/CodeGen/ptrauth-restricted-intptr-qualifier.c clang/test/Sema/ptrauth-restricted-intptr-qualifier.c clang/include/clang/AST/Type.h clang/include/clang/Sema/Sema.h clang/lib/AST/ASTContext.cpp clang/lib/AST/Type.cpp clang/lib/AST/TypePrinter.cpp clang/lib/CodeGen/CGExprConstant.cpp clang/lib/CodeGen/CGExprScalar.cpp clang/lib/CodeGen/CGPointerAuth.cpp clang/lib/Parse/ParseDecl.cpp clang/lib/Sema/SemaCast.cpp clang/lib/Sema/SemaChecking.cpp clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDeclCXX.cpp clang/lib/Sema/SemaObjCProperty.cpp clang/lib/Sema/SemaType.cpp clang/lib/Sema/TreeTransform.h clang/test/SemaCXX/ptrauth-triviality.cpp lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h
index 6516c976e..246b4aeba 100644
--- a/clang/include/clang/AST/Type.h
+++ b/clang/include/clang/AST/Type.h
@@ -169,7 +169,7 @@ class PointerAuthQualifier {
AuthenticatesNullValuesMask = ((1 << AuthenticatesNullValuesBits) - 1)
<< AuthenticatesNullValuesShift,
RestrictedIntegralShift =
- AuthenticatesNullValuesShift + AuthenticatesNullValuesBits,
+ AuthenticatesNullValuesShift + AuthenticatesNullValuesBits,
RestrictedIntegralBits = 1,
RestrictedIntegralMask = ((1 << RestrictedIntegralBits) - 1)
<< RestrictedIntegralShift,
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp
index d196e39ea..ebe6bb805 100644
--- a/clang/lib/CodeGen/CGExprConstant.cpp
+++ b/clang/lib/CodeGen/CGExprConstant.cpp
@@ -2445,8 +2445,9 @@ ConstantEmitter::tryEmitPrivate(const APValue &Value, QualType DestType,
.tryEmit();
case APValue::Int:
if (PointerAuthQualifier PointerAuth = DestType.getPointerAuth();
- PointerAuth && (PointerAuth.authenticatesNullValues() || Value.getInt() != 0))
- return nullptr;
+ PointerAuth &&
+ (PointerAuth.authenticatesNullValues() || Value.getInt() != 0))
+ return nullptr;
return llvm::ConstantInt::get(CGM.getLLVMContext(), Value.getInt());
case APValue::FixedPoint:
return llvm::ConstantInt::get(CGM.getLLVMContext(),
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index 561f6309d..89a92491c 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -1562,8 +1562,7 @@ bool Sema::checkPointerAuthDiscriminatorArg(const AttributeCommonInfo &AttrInfo,
std::optional<llvm::APSInt> Result = Arg->getIntegerConstantExpr(Context);
StringRef AttrName = AttrInfo.getAttrName()->getName();
if (!Result) {
- Diag(Arg->getExprLoc(), diag::err_ptrauth_arg_not_ice)
- << AttrName;
+ Diag(Arg->getExprLoc(), diag::err_ptrauth_arg_not_ice) << AttrName;
return false;
}
diff --git a/clang/lib/Sema/SemaType.cpp b/clang/lib/Sema/SemaType.cpp
index d22517be9..d99f13fd3 100644
--- a/clang/lib/Sema/SemaType.cpp
+++ b/clang/lib/Sema/SemaType.cpp
@@ -8372,11 +8372,12 @@ static void HandlePtrAuthQualifier(ASTContext &Ctx, QualType &T,
bool IsInvalid = false;
unsigned IsAddressDiscriminated, ExtraDiscriminator;
- IsInvalid |= !S.checkPointerAuthDiscriminatorArg(Attr, IsAddressDiscriminatedArg,
- Sema::PADAK_AddrDiscPtrAuth,
- IsAddressDiscriminated);
- IsInvalid |= !S.checkPointerAuthDiscriminatorArg(Attr,
- ExtraDiscriminatorArg, Sema::PADAK_ExtraDiscPtrAuth, ExtraDiscriminator);
+ IsInvalid |= !S.checkPointerAuthDiscriminatorArg(
+ Attr, IsAddressDiscriminatedArg, Sema::PADAK_AddrDiscPtrAuth,
+ IsAddressDiscriminated);
+ IsInvalid |= !S.checkPointerAuthDiscriminatorArg(Attr, ExtraDiscriminatorArg,
+ Sema::PADAK_ExtraDiscPtrAuth,
+ ExtraDiscriminator);
if (IsInvalid) {
Attr.setInvalid();
@@ -8417,7 +8418,8 @@ static void HandlePtrAuthQualifier(ASTContext &Ctx, QualType &T,
"address discriminator arg should be either 0 or 1");
PointerAuthQualifier Qual = PointerAuthQualifier::Create(
Key, IsAddressDiscriminated, ExtraDiscriminator,
- PointerAuthenticationMode::SignAndAuth, /*IsIsaPointer=*/false, /*AuthenticatesNullValues=*/false, IsRestrictedIntegral);
+ PointerAuthenticationMode::SignAndAuth, /*IsIsaPointer=*/false,
+ /*AuthenticatesNullValues=*/false, IsRestrictedIntegral);
T = S.Context.getPointerAuthType(T, Qual);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/137580
More information about the cfe-commits
mailing list