1d54888a3SChuanqi Xu// Tests for imported module search. 2d54888a3SChuanqi Xu// 3d54888a3SChuanqi Xu// RUN: rm -rf %t 4d54888a3SChuanqi Xu// RUN: mkdir %t 5d54888a3SChuanqi Xu// RUN: split-file %s %t 6d54888a3SChuanqi Xu// 7d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/x.cppm -o %t/x.pcm 857833636SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -emit-module-interface -fmodule-file=x=%t/x.pcm %t/y.cppm -o %t/y.pcm 9d54888a3SChuanqi Xu// 10d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -I%t -fmodule-file=x=%t/x.pcm -verify %t/use.cpp \ 11d54888a3SChuanqi Xu// RUN: -DMODULE_NAME=x 12d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -I%t -fmodule-file=y=%t/y.pcm -verify %t/use.cpp \ 13*e22fa1d4SChuanqi Xu// RUN: -DMODULE_NAME=y -fmodule-file=x=%t/x.pcm 14d54888a3SChuanqi Xu// 15d54888a3SChuanqi Xu// RUN: mv %t/x.pcm %t/a.pcm 16d54888a3SChuanqi Xu// 17d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -I%t -fmodule-file=x=%t/a.pcm -verify %t/use.cpp \ 18d54888a3SChuanqi Xu// RUN: -DMODULE_NAME=x 19d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -I%t -fmodule-file=y=%t/y.pcm -fmodule-file=x=%t/a.pcm -verify %t/use.cpp \ 20d54888a3SChuanqi Xu// RUN: -DMODULE_NAME=y 21d54888a3SChuanqi Xu// 22d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -emit-module-interface -fmodule-file=y=%t/y.pcm -fmodule-file=x=%t/a.pcm %t/z.cppm -o %t/z.pcm 23d54888a3SChuanqi Xu// 24d54888a3SChuanqi Xu// RUN: %clang_cc1 -std=c++20 -I%t -fmodule-file=z=%t/z.pcm -fmodule-file=y=%t/y.pcm -fmodule-file=x=%t/a.pcm -verify %t/use.cpp \ 25d54888a3SChuanqi Xu// RUN: -DMODULE_NAME=z 26d54888a3SChuanqi Xu// 27d54888a3SChuanqi Xu 28d54888a3SChuanqi Xu//--- x.cppm 29d54888a3SChuanqi Xuexport module x; 30d54888a3SChuanqi Xuint a, b; 31d54888a3SChuanqi Xu 32d54888a3SChuanqi Xu//--- y.cppm 33d54888a3SChuanqi Xuexport module y; 34d54888a3SChuanqi Xuimport x; 35d54888a3SChuanqi Xuint c; 36d54888a3SChuanqi Xu 37d54888a3SChuanqi Xu//--- z.cppm 38d54888a3SChuanqi Xuexport module z; 39d54888a3SChuanqi Xuimport y; 40d54888a3SChuanqi Xuint d; 41d54888a3SChuanqi Xu 42d54888a3SChuanqi Xu//--- use.cpp 43d54888a3SChuanqi Xuimport MODULE_NAME; 44d54888a3SChuanqi Xu 45d54888a3SChuanqi Xu// expected-no-diagnostics 46