llvm/llvm-project
Voir sur GitHub[C++20] [Modules] Not properly mangling for entities in named modules for MSVC ABI
Open
#174 064 ouverte le 31 déc. 2025
ABIclang:moduleshelp wantedplatform:windows
Métriques du dépôt
- Stars
- (26 378 stars)
- Métriques de merge PR
- (Merge moyen 1j 2h) (1 000 PRs mergées en 30 j)
Description
Reproducer: https://godbolt.org/z/5oaM6Yjv5
for
export module a;
export int func() {
return 43;
}
Clang in Windows ABI generates:
"?func@@YAHXZ"
but MSVC generates:
?func@@YAHXZ::<!a>
This is a compatibility problem. And also this is a correctness problem. Since the design of C++20 Named Modules ask toolchains to treat the entity in different named modules as different entity at link time even they have the same name. So this is a missing feature at ABI level.
Estimated difficulty: medium