[clang] [lldb] [clang][NFC] Rename ArgPassingKind to RecordArgPassingKind (PR #70955)
Vlad Serebrennikov via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 1 09:26:20 PDT 2023
https://github.com/Endilll created https://github.com/llvm/llvm-project/pull/70955
During the recent refactoring (b120fe8d3288c4dca1b5427ca34839ce8833f71c) this enum was moved out of `RecordDecl`. During post-commit review it was found out that its association with `RecordDecl` should be expressed in the name.
I'm planning to land this as soon as CI passes, probably without waiting for Windows bot.
>From 99013f89d8a5d62828e351e49a11d04fe13645ae Mon Sep 17 00:00:00 2001
From: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: Wed, 1 Nov 2023 19:24:22 +0300
Subject: [PATCH] [clang][NFC] Rename ArgPassingKind to RecordArgPassingKind
During the recent refactoring (b120fe8d3288c4dca1b5427ca34839ce8833f71c) this enum was moved out of `RecordDecl`. During post-commit review it was found out that its association with `RecordDecl` should be expresses in the name.
---
clang/include/clang/AST/Decl.h | 11 ++++++-----
clang/include/clang/AST/DeclBase.h | 2 +-
clang/lib/AST/Decl.cpp | 2 +-
clang/lib/AST/DeclCXX.cpp | 10 +++++-----
clang/lib/CodeGen/CGCall.cpp | 3 ++-
clang/lib/Sema/SemaDecl.cpp | 8 +++++---
clang/lib/Sema/SemaDeclCXX.cpp | 9 +++++----
clang/lib/Serialization/ASTReaderDecl.cpp | 4 ++--
.../Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp | 2 +-
9 files changed, 28 insertions(+), 23 deletions(-)
diff --git a/clang/include/clang/AST/Decl.h b/clang/include/clang/AST/Decl.h
index d9b00b1628ab25c..d8ea8c1dfb4f292 100644
--- a/clang/include/clang/AST/Decl.h
+++ b/clang/include/clang/AST/Decl.h
@@ -4063,7 +4063,7 @@ class EnumDecl : public TagDecl {
/// returned from function calls. This takes into account the target-specific
/// and version-specific rules along with the rules determined by the
/// language.
-enum class ArgPassingKind {
+enum class RecordArgPassingKind {
/// The argument of this type can be passed directly in registers.
CanPassInRegs,
@@ -4216,14 +4216,15 @@ class RecordDecl : public TagDecl {
/// it must have at least one trivial, non-deleted copy or move constructor.
/// FIXME: This should be set as part of completeDefinition.
bool canPassInRegisters() const {
- return getArgPassingRestrictions() == ArgPassingKind::CanPassInRegs;
+ return getArgPassingRestrictions() == RecordArgPassingKind::CanPassInRegs;
}
- ArgPassingKind getArgPassingRestrictions() const {
- return static_cast<ArgPassingKind>(RecordDeclBits.ArgPassingRestrictions);
+ RecordArgPassingKind getArgPassingRestrictions() const {
+ return static_cast<RecordArgPassingKind>(
+ RecordDeclBits.ArgPassingRestrictions);
}
- void setArgPassingRestrictions(ArgPassingKind Kind) {
+ void setArgPassingRestrictions(RecordArgPassingKind Kind) {
RecordDeclBits.ArgPassingRestrictions = llvm::to_underlying(Kind);
}
diff --git a/clang/include/clang/AST/DeclBase.h b/clang/include/clang/AST/DeclBase.h
index 6704c0cd41ecd3d..df1d6e8a3b5af72 100644
--- a/clang/include/clang/AST/DeclBase.h
+++ b/clang/include/clang/AST/DeclBase.h
@@ -1399,7 +1399,7 @@ enum class DeductionCandidate : unsigned char {
Aggregate,
};
-enum class ArgPassingKind;
+enum class RecordArgPassingKind;
enum class OMPDeclareReductionInitKind;
enum class ObjCImplementationControl;
enum class LinkageSpecLanguageIDs;
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 28243a76712d63e..6efc177d61c03ba 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -4932,7 +4932,7 @@ RecordDecl::RecordDecl(Kind DK, TagKind TK, const ASTContext &C,
setHasNonTrivialToPrimitiveDestructCUnion(false);
setHasNonTrivialToPrimitiveCopyCUnion(false);
setParamDestroyedInCallee(false);
- setArgPassingRestrictions(ArgPassingKind::CanPassInRegs);
+ setArgPassingRestrictions(RecordArgPassingKind::CanPassInRegs);
setIsRandomized(false);
setODRHash(0);
}
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp
index 066b62b7c24110d..4002c63e9f94c12 100644
--- a/clang/lib/AST/DeclCXX.cpp
+++ b/clang/lib/AST/DeclCXX.cpp
@@ -446,8 +446,8 @@ CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases,
setHasVolatileMember(true);
if (BaseClassDecl->getArgPassingRestrictions() ==
- ArgPassingKind::CanNeverPassInRegs)
- setArgPassingRestrictions(ArgPassingKind::CanNeverPassInRegs);
+ RecordArgPassingKind::CanNeverPassInRegs)
+ setArgPassingRestrictions(RecordArgPassingKind::CanNeverPassInRegs);
// Keep track of the presence of mutable fields.
if (BaseClassDecl->hasMutableFields())
@@ -1032,7 +1032,7 @@ void CXXRecordDecl::addedMember(Decl *D) {
// Structs with __weak fields should never be passed directly.
if (LT == Qualifiers::OCL_Weak)
- setArgPassingRestrictions(ArgPassingKind::CanNeverPassInRegs);
+ setArgPassingRestrictions(RecordArgPassingKind::CanNeverPassInRegs);
Data.HasIrrelevantDestructor = false;
@@ -1226,8 +1226,8 @@ void CXXRecordDecl::addedMember(Decl *D) {
if (FieldRec->hasVolatileMember())
setHasVolatileMember(true);
if (FieldRec->getArgPassingRestrictions() ==
- ArgPassingKind::CanNeverPassInRegs)
- setArgPassingRestrictions(ArgPassingKind::CanNeverPassInRegs);
+ RecordArgPassingKind::CanNeverPassInRegs)
+ setArgPassingRestrictions(RecordArgPassingKind::CanNeverPassInRegs);
// C++0x [class]p7:
// A standard-layout class is a class that:
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index d8168e35decb0ca..230a6c3dbebadd1 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -2719,7 +2719,8 @@ void CodeGenModule::ConstructAttributeList(StringRef Name,
auto *Decl = ParamType->getAsRecordDecl();
if (CodeGenOpts.PassByValueIsNoAlias && Decl &&
- Decl->getArgPassingRestrictions() == ArgPassingKind::CanPassInRegs)
+ Decl->getArgPassingRestrictions() ==
+ RecordArgPassingKind::CanPassInRegs)
// When calling the function, the pointer passed in will be the only
// reference to the underlying object. Mark it accordingly.
Attrs.addAttribute(llvm::Attribute::NoAlias);
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index a1cafa0c6ad29a0..a8bad12b670fc75 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -19196,10 +19196,12 @@ void Sema::ActOnFields(Scope *S, SourceLocation RecLoc, Decl *EnclosingDecl,
if (const auto *RT = FT->getAs<RecordType>()) {
if (RT->getDecl()->getArgPassingRestrictions() ==
- ArgPassingKind::CanNeverPassInRegs)
- Record->setArgPassingRestrictions(ArgPassingKind::CanNeverPassInRegs);
+ RecordArgPassingKind::CanNeverPassInRegs)
+ Record->setArgPassingRestrictions(
+ RecordArgPassingKind::CanNeverPassInRegs);
} else if (FT.getQualifiers().getObjCLifetime() == Qualifiers::OCL_Weak)
- Record->setArgPassingRestrictions(ArgPassingKind::CanNeverPassInRegs);
+ Record->setArgPassingRestrictions(
+ RecordArgPassingKind::CanNeverPassInRegs);
}
if (Record && FD->getType().isVolatileQualified())
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index f2d6db41e77a377..be79defbbfac6f1 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -7281,10 +7281,11 @@ void Sema::CheckCompletedCXXClass(Scope *S, CXXRecordDecl *Record) {
// Do not change ArgPassingRestrictions if it has already been set to
// ArgPassingKind::CanNeverPassInRegs.
- if (Record->getArgPassingRestrictions() != ArgPassingKind::CanNeverPassInRegs)
- Record->setArgPassingRestrictions(CanPass
- ? ArgPassingKind::CanPassInRegs
- : ArgPassingKind::CannotPassInRegs);
+ if (Record->getArgPassingRestrictions() !=
+ RecordArgPassingKind::CanNeverPassInRegs)
+ Record->setArgPassingRestrictions(
+ CanPass ? RecordArgPassingKind::CanPassInRegs
+ : RecordArgPassingKind::CannotPassInRegs);
// If canPassInRegisters returns true despite the record having a non-trivial
// destructor, the record is destructed in the callee. This happens only when
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp
index a97b992fcf6e97a..319a45108c6ab66 100644
--- a/clang/lib/Serialization/ASTReaderDecl.cpp
+++ b/clang/lib/Serialization/ASTReaderDecl.cpp
@@ -845,7 +845,7 @@ ASTDeclReader::VisitRecordDeclImpl(RecordDecl *RD) {
RD->setHasNonTrivialToPrimitiveDestructCUnion(Record.readInt());
RD->setHasNonTrivialToPrimitiveCopyCUnion(Record.readInt());
RD->setParamDestroyedInCallee(Record.readInt());
- RD->setArgPassingRestrictions((ArgPassingKind)Record.readInt());
+ RD->setArgPassingRestrictions((RecordArgPassingKind)Record.readInt());
return Redecl;
}
@@ -4514,7 +4514,7 @@ void ASTDeclReader::UpdateDecl(Decl *D,
!Reader.PendingFakeDefinitionData.count(OldDD));
RD->setParamDestroyedInCallee(Record.readInt());
RD->setArgPassingRestrictions(
- static_cast<ArgPassingKind>(Record.readInt()));
+ static_cast<RecordArgPassingKind>(Record.readInt()));
ReadCXXRecordDefinition(RD, /*Update*/true);
// Visible update is handled separately.
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
index 83bc67c0a12cac4..280571856035753 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -1929,7 +1929,7 @@ DWARFASTParserClang::ParseStructureLikeDIE(const SymbolContext &sc,
m_ast.GetAsCXXRecordDecl(clang_type.GetOpaqueQualType());
if (record_decl)
record_decl->setArgPassingRestrictions(
- clang::ArgPassingKind::CannotPassInRegs);
+ clang::RecordArgPassingKind::CannotPassInRegs);
}
return type_sp;
}
More information about the cfe-commits
mailing list