File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ // RUN: rm -rf %t
2
+ // RUN: mkdir -p %t
3
+ // RUN: split-file %s %t
4
+
5
+ // RUN: %clang_cc1 -std=c++20 -fmodule-name=hu-01 -emit-header-unit -xc++-user-header %t/hu-01.h \
6
+ // RUN: -o %t/hu-01.pcm
7
+
8
+ // RUN: %clang_cc1 -std=c++20 -fmodule-name=hu-02 -emit-header-unit -xc++-user-header %t/hu-02.h \
9
+ // RUN: -Wno-experimental-header-units \
10
+ // RUN: -fmodule-map-file=%t/hu-01.map -fmodule-file=hu-01=%t/hu-01.pcm \
11
+ // RUN: -o %t/hu-02.pcm
12
+
13
+ // RUN: %clang_cc1 -std=c++20 -emit-obj %t/main.cpp \
14
+ // RUN: -Wno-experimental-header-units \
15
+ // RUN: -fmodule-map-file=%t/hu-01.map -fmodule-file=hu-01=%t/hu-01.pcm \
16
+ // RUN: -fmodule-map-file=%t/hu-02.map -fmodule-file=hu-02=%t/hu-02.pcm
17
+
18
+ // --- hu-01.map
19
+ module " hu-01" {
20
+ header " hu-01.h"
21
+ export *
22
+ }
23
+
24
+ // --- hu-02.map
25
+ module " hu-02" {
26
+ header " hu-02.h"
27
+ export *
28
+ }
29
+
30
+ // --- hu-01.h
31
+ #pragma once
32
+
33
+ template <typename T>
34
+ struct S { union { T x; }; };
35
+
36
+ using SI = S<int >;
37
+
38
+ // --- hu-02.h
39
+ import " hu-01.h" ;
40
+ inline void f (S<int > s = {}) { s.x ; }
41
+
42
+ // --- main.cpp
43
+ import " hu-01.h" ;
44
+ void g (S<int >) {}
45
+
46
+ import " hu-02.h" ;
47
+ void h () { f (); }
You can’t perform that action at this time.
0 commit comments