3 // RUN: split-file %s %t
5 // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/std10-3-ex2-tu1.cpp \
8 // RUN: %clang_cc1 -std=c++20 -S %t/std10-3-ex2-tu2.cpp \
9 // RUN: -fmodule-file=M=%t/M.pcm -o %t/tu_8.s -verify
11 // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/std10-3-ex2-tu3.cpp \
12 // RUN: -o %t/M.pcm -verify
14 // Test again with reduced BMI.
15 // RUN: %clang_cc1 -std=c++20 -emit-reduced-module-interface %t/std10-3-ex2-tu1.cpp \
18 // RUN: %clang_cc1 -std=c++20 -S %t/std10-3-ex2-tu2.cpp \
19 // RUN: -fmodule-file=M=%t/M.pcm -o %t/tu_8.s -verify
21 // RUN: %clang_cc1 -std=c++20 -emit-reduced-module-interface %t/std10-3-ex2-tu3.cpp \
22 // RUN: -o %t/M.pcm -verify
24 //--- std10-3-ex2-tu1.cpp
27 //--- std10-3-ex2-tu2.cpp
29 // error: cannot import M in its own unit
30 import M
; // expected-error {{import of module 'M' appears within its own implementation}}
32 //--- std10-3-ex2-tu3.cpp
34 // error: cannot import M in its own unit
35 import M
; // expected-error {{import of module 'M' appears within its own interface}}