Chuanqi Xu
9c04851cf5
[C++20] [Module] Support reachable definition initially/partially
...
This patch introduces a new kind of ModuleOwnershipKind as
ReachableWhenImported. This intended the status for reachable described
at: https://eel.is/c++draft/module.reach#3 .
Note that this patch is not intended to support all semantics about
reachable semantics. For example, this patch didn't implement discarded
declarations in GMF. (https://eel.is/c++draft/module.global.frag#3 ).
This fixes: https://bugs.llvm.org/show_bug.cgi?id=52281 and
https://godbolt.org/z/81f3ocjfW .
Reviewed By: rsmith, iains
Differential Revision: https://reviews.llvm.org/D113545
2022-06-29 12:48:48 +08:00
Chuanqi Xu
7a541406b5
Revert "[C++20] [Modules] Implement Reachable initiallly"
...
This reverts commit a223ba0a697c1598b434cf2495c9cd9ec5640fc7.
The previous commit don't contain additional information, which is bad.
2022-06-29 12:43:26 +08:00
Chuanqi Xu
a223ba0a69
[C++20] [Modules] Implement Reachable initiallly
2022-06-29 12:32:31 +08:00
Chuanqi Xu
e587372f85
[C++20] [Module] Support extern C/C++ semantics
...
According to [module.unit]p7.2.3, a declaration within a linkage-specification
should be attached to the global module.
This let user to forward declare types across modules.
Reviewed by: rsmith, aaron.ballman
Differential Revision: https://reviews.llvm.org/D110215
2021-12-08 13:29:16 +08:00