<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/123343>123343</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[C++20] [Modules] Incorrect visibility for modules linkage in language linkage
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:modules
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
ChuanqiXu9
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ChuanqiXu9
</td>
</tr>
</table>
<pre>
Reproducer:
```
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: cd %t
//
// RUN: %clang_cc1 -std=c++20 %t/m.a.cppm -emit-module-interface -o %t/a.pcm
// RUN: %clang_cc1 -std=c++20 %t/m.b.cppm -fmodule-file=m:a=%t/a.pcm -fsyntax-only -verify
//--- m.a.cppm
export module m:a;
int a;
//--- m.b.cppm
module m:b;
import :a;
extern "C++" int get_a() { return a; }
```
We should accept it but we don't.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycU0GP2yoQ_jXjywgLD_YmOfiQbBTpHd47rPTU3laAcUKLjQs43fz7yl6i3Xb3VAkJNMz3fTPMh4zRnkdjWmgOQPR4meX4w36dd0AEzbGQc7r40L7FC-W7W_tkpuC7WZsAYg98XQ88L74HOgGd8On__0DsMQzIQo9ATfpwFydnE-utM8t9_DxJd7_HPyQANdrJ8fysdYUspg7EUQMdgA7EX7F0GkpZ6mkakJnBJjb4bnaG2TGZ0EttkPl7piwnPfytiMoifRZYegNxHEDsJYjjewlkfbyNSb4wP7obsqsJtr_l51y1GWN4rxv43rxMPiR8ZcZMeQC-t2PCfPwDq-7YdyCVQcPK9sZiXpIJIy4-eO0LiHChPpv0LIG2QDuEzQGDSXMYV0WEzfETA_D9F4Px4mfXodTaTAltQjUn_Gmw8yPQJpVF14puJ3ayMG21EZuKiHhTXNqd6FQv-23f1VUjiJOuGrPtdK84r-t6W9iWODW8qjaVaB7quqz7qtZyq7ab3jRKaai5GaR1pXPXofThXNgYZ9NWJEQtCieVcTGbfp0qiPxCMTs_tAuUqfkcoebOxhTfyJJNbv0zj3cDQHNEaA7_Zo7miP-M2odgdMKrjVZZZ9MNex_y-CI6O36XZ4N2xKWCeTnnWDEH115SmuLyv9Zxnm26zKrUfgA6LYXkjU3BfzN6MdXaYgQ65S6vLf0KAAD__0wSJHU">