1*e03a6545SRichard Smith // RUN: %clang_cc1 -std=c++1z -fmodules-ts %S/module.cppm -emit-module-interface -o %t
2*e03a6545SRichard Smith // RUN: %clang_cc1 -std=c++1z -fmodules-ts -fmodule-file=%t %s -verify
3*e03a6545SRichard Smith // expected-no-diagnostics
4*e03a6545SRichard Smith module M;
5*e03a6545SRichard Smith 
6*e03a6545SRichard Smith // FIXME: Use of internal linkage entities should be rejected.
use_from_module_impl()7*e03a6545SRichard Smith void use_from_module_impl() {
8*e03a6545SRichard Smith   external_linkage_fn();
9*e03a6545SRichard Smith   module_linkage_fn();
10*e03a6545SRichard Smith   internal_linkage_fn();
11*e03a6545SRichard Smith   (void)external_linkage_class{};
12*e03a6545SRichard Smith   (void)module_linkage_class{};
13*e03a6545SRichard Smith   (void)internal_linkage_class{};
14*e03a6545SRichard Smith   (void)external_linkage_var;
15*e03a6545SRichard Smith   (void)module_linkage_var;
16*e03a6545SRichard Smith   (void)internal_linkage_var;
17*e03a6545SRichard Smith }
18