[all-commits] [llvm/llvm-project] 64b851: Reland [C++20] [Modules] [Itanium ABI] Generate th...
Chuanqi Xu via All-commits
all-commits at lists.llvm.org
Tue Aug 20 00:28:52 PDT 2024
Branch: refs/heads/release/19.x
Home: https://github.com/llvm/llvm-project
Commit: 64b8514e6c1a663660fbb93ec7f623b3e40a2020
https://github.com/llvm/llvm-project/commit/64b8514e6c1a663660fbb93ec7f623b3e40a2020
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-08-20 (Tue, 20 Aug 2024)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CodeGenCXX/modules-vtable.cppm
A clang/test/CodeGenCXX/pr70585.cppm
A clang/test/Modules/pr97313.cppm
A clang/test/Modules/static-func-in-private.cppm
A clang/test/Modules/vtable-windows.cppm
Log Message:
-----------
Reland [C++20] [Modules] [Itanium ABI] Generate the vtable in the mod… (#102287)
Reland https://github.com/llvm/llvm-project/pull/75912
The differences of this PR between
https://github.com/llvm/llvm-project/pull/75912 are:
- Fixed a regression in `Decl::isInAnotherModuleUnit()` in DeclBase.cpp
pointed by @mizvekov and add the corresponding test.
- Fixed the regression in windows
https://github.com/llvm/llvm-project/issues/97447. The changes are in
`CodeGenModule::getVTableLinkage` from
`clang/lib/CodeGen/CGVTables.cpp`. According to the feedbacks from MSVC
devs, the linkage of vtables won't affected by modules. So I simply
skipped the case for MSVC.
Given this is more or less fundamental to the use of modules. I hope we
can backport this to 19.x.
(cherry picked from commit 847f9cb0e868c8ec34f9aa86fdf846f8c4e0388b)
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list