xref: /llvm-project/clang/test/Modules/dependency-gen-vfs.c (revision 347028a4d8da8aa1ae311c95424999fcd31d98cb)
1 // RUN: rm -rf %t
2 // RUN: split-file %s %t
3 
4 //--- module.modulemap
5 module M { header "m.h" }
6 
7 //--- m-real.h
8 
9 //--- overlay.json.template
10 {
11   "version": 0,
12   "case-sensitive": "false",
13   "roots": [
14     {
15       "external-contents": "DIR/m-real.h",
16       "name": "DIR/m.h",
17       "type": "file"
18     }
19   ]
20 }
21 
22 //--- tu.c
23 #include "m.h"
24 
25 // RUN: sed -e "s|DIR|%/t|g" %t/overlay.json.template > %t/overlay.json
26 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/cache \
27 // RUN:   -ivfsoverlay %t/overlay.json -dependency-file %t/tu.d -MT %t/tu.o -fsyntax-only %t/tu.c
28 // RUN: FileCheck %s --input-file=%t/tu.d
29 // CHECK:      {{.*}}tu.o: \
30 // CHECK-NEXT: {{.*}}tu.c \
31 // CHECK-NEXT: {{.*}}module.modulemap \
32 // CHECK-NEXT: {{.*}}m-real.h
33