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

貢獻者指南