1e9a7876cSChuanqi Xu// Tests that we will pick the last `-fmodule-file=<module-name>=<path>` flag 2e9a7876cSChuanqi Xu// for <module-name>. 3e9a7876cSChuanqi Xu 4e9a7876cSChuanqi Xu// RUN: rm -rf %t 5e9a7876cSChuanqi Xu// RUN: split-file %s %t 6e9a7876cSChuanqi Xu// RUN: cd %t 7e9a7876cSChuanqi Xu// 8e9a7876cSChuanqi Xu// RUN: %clang_cc1 -std=c++20 %t/a.cppm -emit-module-interface -o %t/a.pcm 9e9a7876cSChuanqi Xu// RUN: %clang_cc1 -std=c++20 %t/u.cpp -fmodule-file=a=%t/unexist.pcm \ 10e9a7876cSChuanqi Xu// RUN: -fmodule-file=a=%t/a.pcm -verify -fsyntax-only 11*da00c60dSChuanqi Xu// 12*da00c60dSChuanqi Xu// RUN: %clang_cc1 -std=c++20 %t/a.cppm -emit-reduced-module-interface -o %t/a.pcm 13*da00c60dSChuanqi Xu// RUN: %clang_cc1 -std=c++20 %t/u.cpp -fmodule-file=a=%t/unexist.pcm \ 14*da00c60dSChuanqi Xu// RUN: -fmodule-file=a=%t/a.pcm -verify -fsyntax-only 15e9a7876cSChuanqi Xu 16e9a7876cSChuanqi Xu//--- a.cppm 17e9a7876cSChuanqi Xuexport module a; 18e9a7876cSChuanqi Xuexport int a(); 19e9a7876cSChuanqi Xu 20e9a7876cSChuanqi Xu//--- u.cpp 21e9a7876cSChuanqi Xu// expected-no-diagnostics 22e9a7876cSChuanqi Xuimport a; 23e9a7876cSChuanqi Xuint u() { 24e9a7876cSChuanqi Xu return a(); 25e9a7876cSChuanqi Xu} 26