File tree Expand file tree Collapse file tree 2 files changed +39
-1
lines changed Expand file tree Collapse file tree 2 files changed +39
-1
lines changed Original file line number Diff line number Diff line change
1
+ // RUN: rm -rf %t
2
+ // RUN: split-file %s %t
3
+
4
+
5
+ // RUN: %clang_cc1 -std=c++20 -verify -emit-module-interface %t/A.cpp -o %t/A.pcm
6
+ // RUN: %clang_cc1 -std=c++20 -verify -emit-module-interface %t/myV.cpp -o %t/myV.pcm
7
+ // RUN: %clang_cc1 -std=c++20 -verify -emit-module-interface -fmodule-file=V=%t/myV.pcm %t/partition.cpp -o %t/partition.pcm
8
+ // RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify -fmodule-file=V=%t/myV.pcm -fmodule-file=A=%t/A.pcm -fmodule-file=A:partition=%t/partition.pcm %t/interface.cpp
9
+
10
+ // --- A.cpp
11
+ // expected-no-diagnostics
12
+ export module A;
13
+
14
+ // --- myV.cpp
15
+ // expected-no-diagnostics
16
+ export module V;
17
+
18
+ export struct myV {};
19
+
20
+ // --- uses_vector.h
21
+ // expected-no-diagnostics
22
+ #ifndef x
23
+ #define x
24
+
25
+ import V;
26
+ #endif
27
+
28
+ // --- partition.cpp
29
+ // expected-no-diagnostics
30
+ module ;
31
+ #include " uses_vector.h" // textually expands to import V;
32
+ module A:partition;
33
+
34
+ // --- interface.cpp
35
+ module A;
36
+ import :partition;
37
+ myV V; // expected-error {{declaration of 'myV' must be imported from module 'V' before it is required}}
38
+ // expected-note@myV.cpp:4 {{declaration here is not visible}}
Original file line number Diff line number Diff line change @@ -923,7 +923,7 @@ <h2 id="cxx20">C++20 implementation status</h2>
923
923
</ tr >
924
924
< tr > <!-- from Belfast -->
925
925
< td > < a href ="https://wg21.link/p1979r0 "> P1979R0</ a > </ td >
926
- < td class ="none " align ="center "> No </ td >
926
+ < td class ="full " align ="center "> Clang 17 </ td >
927
927
</ tr >
928
928
< tr > <!-- from Prague -->
929
929
< td > < a href ="https://wg21.link/p1779r3 "> P1779R3</ a > </ td >
You can’t perform that action at this time.
0 commit comments