1*67e74705SXin Li// RUN: rm -rf %t 2*67e74705SXin Li 3*67e74705SXin Li// A from path 1 4*67e74705SXin Li// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fmodules-ignore-macro=EXPECTED_PATH -fmodules-ignore-macro=DIRECT -fsyntax-only %s -verify -I %S/Inputs/modules-with-same-name/path1/A -DDIRECT -DEXPECTED_PATH=1 5*67e74705SXin Li 6*67e74705SXin Li// A from path 2 7*67e74705SXin Li// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fmodules-ignore-macro=EXPECTED_PATH -fmodules-ignore-macro=DIRECT -fsyntax-only %s -verify -I %S/Inputs/modules-with-same-name/path2/A -DDIRECT -DEXPECTED_PATH=2 8*67e74705SXin Li 9*67e74705SXin Li// Confirm that we have two pcm files (one for each 'A'). 10*67e74705SXin Li// RUN: find %t -name "A-*.pc[m]" | count 2 11*67e74705SXin Li 12*67e74705SXin Li// DependsOnA, using A from path 1 13*67e74705SXin Li// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fmodules-ignore-macro=EXPECTED_PATH -fmodules-ignore-macro=DIRECT -fsyntax-only %s -verify -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path1/A -DEXPECTED_PATH=1 14*67e74705SXin Li 15*67e74705SXin Li// Confirm that we have three pcm files (one for each 'A', and one for 'DependsOnA') 16*67e74705SXin Li// RUN: find %t -name "*.pc[m]" | count 3 17*67e74705SXin Li 18*67e74705SXin Li// DependsOnA, using A from path 2 19*67e74705SXin Li// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -fmodules-ignore-macro=EXPECTED_PATH -fmodules-ignore-macro=DIRECT -fsyntax-only %s -verify -I %S/Inputs/modules-with-same-name/DependsOnA -I %S/Inputs/modules-with-same-name/path2/A -DEXPECTED_PATH=2 20*67e74705SXin Li 21*67e74705SXin Li// Confirm that we still have three pcm files, since DependsOnA will be rebuilt 22*67e74705SXin Li// RUN: find %t -name "*.pc[m]" | count 3 23*67e74705SXin Li 24*67e74705SXin Li#ifdef DIRECT 25*67e74705SXin Li@import A; 26*67e74705SXin Li#else 27*67e74705SXin Li@import DependsOnA; 28*67e74705SXin Li#endif 29*67e74705SXin Li 30*67e74705SXin Li#if FROM_PATH != EXPECTED_PATH 31*67e74705SXin Li#error "Got the wrong module!" 32*67e74705SXin Li#endif 33*67e74705SXin Li 34*67e74705SXin Li// expected-no-diagnostics 35