[clang] Reland [C++20] [Modules] [Itanium ABI] Generate the vtable in the mod… (PR #102287)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 7 01:52:06 PDT 2024
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 89db3bbd27ddc5ec980799c987dafd167c5a4564 7daf703b8d2602bd13d9eb9a9e6c9487205427b0 --extensions h,cppm,cpp -- clang/test/CodeGenCXX/pr70585.cppm clang/test/Modules/pr97313.cppm clang/test/Modules/static-func-in-private.cppm clang/test/Modules/vtable-windows.cppm clang/include/clang/AST/DeclBase.h clang/include/clang/Serialization/ASTBitCodes.h clang/include/clang/Serialization/ASTReader.h clang/include/clang/Serialization/ASTWriter.h clang/lib/AST/ASTContext.cpp clang/lib/AST/DeclBase.cpp clang/lib/CodeGen/CGVTables.cpp clang/lib/CodeGen/ItaniumCXXABI.cpp clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDeclCXX.cpp clang/lib/Serialization/ASTReader.cpp clang/lib/Serialization/ASTReaderDecl.cpp clang/lib/Serialization/ASTWriter.cpp clang/lib/Serialization/ASTWriterDecl.cpp clang/test/CodeGenCXX/modules-vtable.cppm
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/lib/CodeGen/CGVTables.cpp b/clang/lib/CodeGen/CGVTables.cpp
index 5febe18eca..029fac7ed7 100644
--- a/clang/lib/CodeGen/CGVTables.cpp
+++ b/clang/lib/CodeGen/CGVTables.cpp
@@ -1081,10 +1081,10 @@ llvm::GlobalVariable::LinkageTypes
CodeGenModule::getVTableLinkage(const CXXRecordDecl *RD) {
if (!RD->isExternallyVisible())
return llvm::GlobalVariable::InternalLinkage;
-
+
// In windows, the linkage of vtable is not related to modules.
- bool IsInNamedModule = !getTarget().getCXXABI().isMicrosoft() &&
- RD->isInNamedModule();
+ bool IsInNamedModule =
+ !getTarget().getCXXABI().isMicrosoft() && RD->isInNamedModule();
// If the CXXRecordDecl are not in a module unit, we need to get
// its key function. We're at the end of the translation unit, so the current
// key function is fully correct.
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index e5e53af2b7..005b264a87 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -6584,8 +6584,7 @@ void ASTRecordWriter::AddCXXDefinitionData(const CXXRecordDecl *D) {
bool ModulesCodegen =
!D->isDependentType() &&
- (Writer->Context->getLangOpts().ModulesDebugInfo ||
- D->isInNamedModule());
+ (Writer->Context->getLangOpts().ModulesDebugInfo || D->isInNamedModule());
Record->push_back(ModulesCodegen);
if (ModulesCodegen)
Writer->AddDeclRef(D, Writer->ModularCodegenDecls);
``````````
</details>
https://github.com/llvm/llvm-project/pull/102287
More information about the cfe-commits
mailing list