llvm/llvm-project

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

Open

#174.065 geöffnet am 31. Dez. 2025

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (10.782 Forks)batch import
ABIclang:moduleshelp wantedplatform:windows

Repository-Metriken

Stars
 (26.378 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 1T 2h) (1.000 gemergte PRs in 30 T)

Beschreibung

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

Contributor Guide