1 | // RUN: rm -rf %t |
2 | // RUN: sed -e "s:INPUT_DIR:%S/Inputs:g" -e "s:OUT_DIR:%t:g" %S/Inputs/vfsoverlay.yaml > %t.yaml |
3 | // RUN: %clang_cc1 -Werror -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -ivfsoverlay %t.yaml -I %t -fsyntax-only %s |
4 | // REQUIRES: shell |
5 | |
6 | @import not_real; |
7 | |
8 | void foo() { |
9 | bar(); |
10 | } |
11 | |
12 | // Import a submodule that is defined in actual_module2.map, which is only |
13 | // mapped in vfsoverlay2.yaml. |
14 | #ifdef IMPORT2 |
15 | @import not_real.from_second_module; |
16 | // CHECK-VFS2: error: no submodule |
17 | #endif |
18 | |
19 | // Override the module map (vfsoverlay2 on top) |
20 | // RUN: sed -e "s:INPUT_DIR:%S/Inputs:g" -e "s:OUT_DIR:%t:g" %S/Inputs/vfsoverlay2.yaml > %t2.yaml |
21 | // RUN: %clang_cc1 -Werror -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -ivfsoverlay %t.yaml -ivfsoverlay %t2.yaml -I %t -fsyntax-only %s |
22 | |
23 | // vfsoverlay2 not present |
24 | // RUN: not %clang_cc1 -Werror -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -ivfsoverlay %t.yaml -I %t -fsyntax-only %s -DIMPORT2 2>&1 | FileCheck -check-prefix=CHECK-VFS2 %s |
25 | |
26 | // vfsoverlay2 on the bottom |
27 | // RUN: not %clang_cc1 -Werror -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -ivfsoverlay %t2.yaml -ivfsoverlay %t.yaml -I %t -fsyntax-only %s -DIMPORT2 2>&1 | FileCheck -check-prefix=CHECK-VFS2 %s |
28 | |