// RUN: rm -rf %t // RUN: split-file %s %t // RUN: sed -e "s|DIR|%/t|g" %t/vfs.yaml.in > %t/vfs.yaml // RUN: clang-scan-deps -format experimental-full -j 1 -- \ // RUN: %clang -ivfsoverlay %t/vfs.yaml -fmodules -fimplicit-module-maps \ // RUN: -fmodules-cache-path=%t/cache -fmodule-name=ModuleName \ // RUN: -I %/t/remapped -c %t/header-impl.c -o %t/header-impl.o \ // RUN: | sed 's:\\\\\?:/:g' | FileCheck %s -DPREFIX=%/t // CHECK: "command-line": [ // CHECK: "-fmodule-map-file=[[PREFIX]]/remapped/module.modulemap" // CHECK: "file-deps": [ // CHECK: "[[PREFIX]]/original/module.modulemap" // Verify that "file-deps" references actual on-disk module map and not using the virtual path. //--- vfs.yaml.in { "version": 0, "case-sensitive": "false", "roots": [ { "name": "DIR/remapped", "type": "directory", "contents": [ { "name": "module.modulemap", "type": "file", "external-contents": "DIR/original/module.modulemap" }, { "name": "header.h", "type": "file", "external-contents": "DIR/original/header.h" } ] } ] } //--- original/module.modulemap module ModuleName { header "header.h" export * } //--- original/header.h int foo_function(void); //--- header-impl.c #include int foo_function(void) { return 0; }