<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62541>62541</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[C++20] [Modules] Workaround for builtin initializers
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
onelumin
</td>
</tr>
</table>
<pre>
A.cppm:
```C++
export module A;
export namespace A {
void foo();
}
```
A.cpp:
```C++
module A;
namespace A {
void foo() {}
}
```
C.cpp:
```C++
import A;
int main() {
A::foo();
}
```
Build:
```
clang++ -std=c++2b A.cppm --precompile -o A.pcm
clang++ -std=c++2b -fmodule-file=A=A.pcm -c A.cpp -o A.o
clang++ -std=c++2b C.cpp -fmodule-file=A=A.pcm A.o
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUk0GvnCAQxz_NeCEaBFl3Dx7cNXvruWcEdKcFMYAvbT99o273vb7mtdsEYwbm_58fA8gYcZyMaUCcQXSZXNLNh8ZPxi4Op6z3-nvTFmqeHfAWaAe0hQPdxwXYeR3brPk2-5CI83qxhrTA7_O_rU7SmThLZUhLoL5nEELIi0dNBu-BHYGdXsV1967mW9ON6x9YH_A8CbKtPRj-CnN5Agbd1oX3MDgl4iROb2ruPO3qx9v_7ct5Qav_RNlDZeU07lAkj0kD79Qesp7sJ03yfA5GeTejNST3pC1m5Z6Q58Pe7nxAa4B37fqtWpKr3Xt38094Xfb0Dx0fLo_9Zbrh-sRPMjNNeTjysqaiqrJbI09ScFVrJoQeaK1LyflQm0pXQnN6KDNsGGWcClpRzhirCtkfOTVqGEomBJccKmqcRFtY--IKH8YMY1xMc2CiKjMre2PjrycUmjUp75cxQkUtxhRfZQmT3R7b_V4wCqIjIM6ftm3GNfrsw1cZ_DKtFzGQfkGbcCI4YUJp8YcJMVuCbW4pzXE9ZnYFdh0x3Za-UN4Bu6717r98Dv6LUQnYdWOOwK4b9s8AAAD__2JsFXU">