llvm / llvm/llvm-project

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

Open
#174,065 2 comments 0 reactions 0 assignees View on GitHub
ABI clang:modules help wanted platform:windows
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.