-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[C++20] [Modules] The entity with internal linkage shouldn't be accessed in other TU even if they are in the same module #61427
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@llvm/issue-subscribers-clang-modules |
Also, I believe we should reject this simpler case where the implementation implicitly imports the interface. export module S;
static void f() {} module S;
void foo() {
f ();
} |
https://reviews.llvm.org/D126959 fixes some of the cases without any change to |
(there is still more to do, of course, I also plan to update https://reviews.llvm.org/D145965 to remove the changes to |
@iains @ChuanqiXu9 someone was asking me about this, are you still working on it? |
I am not, for the foreseeable future. |
This is still on my TODO list. But it may not be too soon given my time schedule. |
…ther TU Close llvm#61427 And this is also helpful to implement llvm#112294 partially. The implementation strategy mimics llvm#122887. This patch split the internal declarations from the general lookup table so that other TU can't find the internal declarations.
…ther TU Close llvm#61427 And this is also helpful to implement llvm#112294 partially. The implementation strategy mimics llvm#122887. This patch split the internal declarations from the general lookup table so that other TU can't find the internal declarations.
… found by other TU (#123059) Close llvm/llvm-project#61427 And this is also helpful to implement llvm/llvm-project#112294 partially. The implementation strategy mimics llvm/llvm-project#122887. This patch split the internal declarations from the general lookup table so that other TU can't find the internal declarations.
Uh oh!
There was an error while loading. Please reload this page.
Reproducer:
Currently the reproducer is accepted. But we expect the compiler to reject it and saying that the partition b can't access the static variable 'a' in partition a.
The text was updated successfully, but these errors were encountered: