3 // RUN: split-file %s %t
5 // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/lib.cppm -o %t/lib.pcm
6 // RUN: %clang_cc1 -std=c++20 %t/main.cpp -fmodule-file=lib=%t/lib.pcm \
7 // RUN: -verify -fsyntax-only
9 // Test again with reduced BMI
12 // RUN: split-file %s %t
14 // RUN: %clang_cc1 -std=c++20 -emit-reduced-module-interface %t/lib.cppm -o %t/lib.pcm
15 // RUN: %clang_cc1 -std=c++20 %t/main.cpp -fmodule-file=lib=%t/lib.pcm \
16 // RUN: -verify -fsyntax-only
19 namespace lib::inline __1 {
21 inline constexpr bool test = false;
23 constexpr bool func() {
26 inline constexpr bool non_templ = true;
34 export namespace lib {
41 // expected-no-diagnostics
47 inline constexpr bool lib::test<foo> = true;
50 constexpr bool lib::func<foo>() {
54 static_assert(lib::test<foo>);
55 static_assert(lib::func<foo>());