llvm/llvm-project

[C++20] [Modules] Not proper module initializer

开放

#174,065 创建于 2025年12月31日

 (2 条评论) (0 个反应) (0 位负责人)C++ (10,782 个派生)batch import
ABIclang:moduleshelp wantedplatform:windows

仓库指标

星标
 (26,378 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

In my local linux machine, for

export module a;

When I generate the code, I can see:

define void @_ZGIW1a() #0 section ".text.startup" {
entry:
  ret void
}

this is used for initializing entities for the module unit. Itanium C++ ABI asks us to generate this even if we don't need to initialize any thing.

But if I turned MSVC ABI, I can say nothing for the initializer. We need input from MSVC, either formal docs or developers, how should we do here. And if we missed anything, we need to implement the module initializer for Windows ABI.

Estimated difficulty: medium

贡献者指南