1 | // RUN: %clang_cc1 -std=c++1z -fmodules-ts %s -verify |
2 | // expected-no-diagnostics |
3 | export module M; |
4 | |
5 | export int external_linkage_var; |
6 | int module_linkage_var; |
7 | static int internal_linkage_var; |
8 | |
9 | export void external_linkage_fn() {} |
10 | void module_linkage_fn() {} |
11 | static void internal_linkage_fn() {} |
12 | |
13 | export struct external_linkage_class {}; |
14 | struct module_linkage_class {}; |
15 | namespace { |
16 | struct internal_linkage_class {}; |
17 | } |
18 | |
19 | void use() { |
20 | external_linkage_fn(); |
21 | module_linkage_fn(); |
22 | internal_linkage_fn(); |
23 | (void)external_linkage_class{}; |
24 | (void)module_linkage_class{}; |
25 | (void)internal_linkage_class{}; |
26 | (void)external_linkage_var; |
27 | (void)module_linkage_var; |
28 | (void)internal_linkage_var; |
29 | } |
30 | |