[clang][NFC] Convert Sema::PointerAuthDiscArgKind to scoped enum

This commit is contained in:
Vlad Serebrennikov
2025-05-02 07:33:20 +03:00
parent ade1203337
commit 68fd69aca6
3 changed files with 12 additions and 12 deletions

View File

@@ -564,6 +564,14 @@ enum class NameClassificationKind {
Concept,
};
enum class PointerAuthDiscArgKind {
// Address discrimination argument of __ptrauth.
Addr,
// Extra discriminator argument of __ptrauth.
Extra,
};
/// Sema - This implements semantic analysis and AST building for C.
/// \nosubgrouping
class Sema final : public SemaBase {
@@ -3580,14 +3588,6 @@ public:
bool checkConstantPointerAuthKey(Expr *keyExpr, unsigned &key);
enum PointerAuthDiscArgKind {
// Address discrimination argument of __ptrauth.
PADAK_AddrDiscPtrAuth,
// Extra discriminator argument of __ptrauth.
PADAK_ExtraDiscPtrAuth,
};
bool checkPointerAuthDiscriminatorArg(Expr *Arg, PointerAuthDiscArgKind Kind,
unsigned &IntVal);

View File

@@ -1569,11 +1569,11 @@ bool Sema::checkPointerAuthDiscriminatorArg(Expr *Arg,
bool IsAddrDiscArg = false;
switch (Kind) {
case PADAK_AddrDiscPtrAuth:
case PointerAuthDiscArgKind::Addr:
Max = 1;
IsAddrDiscArg = true;
break;
case PADAK_ExtraDiscPtrAuth:
case PointerAuthDiscArgKind::Extra:
Max = PointerAuthQualifier::MaxDiscriminator;
break;
};

View File

@@ -8369,10 +8369,10 @@ static void HandlePtrAuthQualifier(ASTContext &Ctx, QualType &T,
bool IsInvalid = false;
unsigned IsAddressDiscriminated, ExtraDiscriminator;
IsInvalid |= !S.checkPointerAuthDiscriminatorArg(IsAddressDiscriminatedArg,
Sema::PADAK_AddrDiscPtrAuth,
PointerAuthDiscArgKind::Addr,
IsAddressDiscriminated);
IsInvalid |= !S.checkPointerAuthDiscriminatorArg(
ExtraDiscriminatorArg, Sema::PADAK_ExtraDiscPtrAuth, ExtraDiscriminator);
ExtraDiscriminatorArg, PointerAuthDiscArgKind::Extra, ExtraDiscriminator);
if (IsInvalid) {
Attr.setInvalid();