annotate clang/test/Modules/cxx20-10-1-ex1.cpp @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents c4bab56944e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
1 // The example in the standard is not in required build order.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
2 // revised here
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
3
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
4 // RUN: rm -rf %t
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
5 // RUN: mkdir -p %t
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
6 // RUN: split-file %s %t
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
7
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
8 // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/std10-1-ex1-tu1.cpp \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
9 // RUN: -o %t/A_Internals.pcm
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
10
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
11 // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/std10-1-ex1-tu2.cpp \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
12 // RUN: -fmodule-file=%t/A_Internals.pcm -o %t/A_Foo.pcm
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
13
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
14 // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/std10-1-ex1-tu3.cpp \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
15 // RUN: -fmodule-file=%t/A_Foo.pcm -o %t/A.pcm
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
16
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
17 // RUN: %clang_cc1 -std=c++20 -emit-obj %t/std10-1-ex1-tu4.cpp \
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
18 // RUN: -fmodule-file=%t/A.pcm -o %t/ex1.o
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
19
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
20 // expected-no-diagnostics
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
21
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
22 //--- std10-1-ex1-tu1.cpp
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
23
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
24 module A:Internals;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
25 int bar();
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
26
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
27 //--- std10-1-ex1-tu2.cpp
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
28
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
29 export module A:Foo;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
30
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
31 import :Internals;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
32
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
33 export int foo() { return 2 * (bar() + 1); }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
34
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
35 //--- std10-1-ex1-tu3.cpp
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
36
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
37 export module A;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
38 export import :Foo;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
39 export int baz();
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
40
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
41 //--- std10-1-ex1-tu4.cpp
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
42
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
43 module A;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
44
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
45 import :Internals;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
46
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
47 int bar() { return baz() - 10; }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
48 int baz() { return 30; }