<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">