1c1c72302SJan Svoboda // RUN: rm -rf %t 2c1c72302SJan Svoboda // RUN: split-file %s %t 3c1c72302SJan Svoboda 4c1c72302SJan Svoboda //--- cdb.json.template 5c1c72302SJan Svoboda [{ 6c1c72302SJan Svoboda "file": "DIR/tu.m", 7c1c72302SJan Svoboda "directory": "DIR", 8c1c72302SJan Svoboda "command": "clang -fmodules -fimplicit-module-maps -fmodules-cache-path=DIR/cache -fmodule-name=FWPrivate -c DIR/tu.m -o DIR/tu.o -F DIR/frameworks -Wprivate-module" 9c1c72302SJan Svoboda }] 10c1c72302SJan Svoboda 11c1c72302SJan Svoboda //--- frameworks/FW.framework/Modules/module.modulemap 12c1c72302SJan Svoboda framework module FW {} 13c1c72302SJan Svoboda //--- frameworks/FW.framework/Modules/module.private.modulemap 14c1c72302SJan Svoboda // The module name will trigger a diagnostic. 15c1c72302SJan Svoboda framework module FWPrivate { header "private.h" } 16c1c72302SJan Svoboda //--- frameworks/FW.framework/PrivateHeaders/private.h 17c1c72302SJan Svoboda //--- tu.m 18c1c72302SJan Svoboda 19c1c72302SJan Svoboda // RUN: sed -e "s|DIR|%/t|g" %t/cdb.json.template > %t/cdb.json 20c1c72302SJan Svoboda // RUN: clang-scan-deps -compilation-database %t/cdb.json -format experimental-full > %t/result.json 21c1c72302SJan Svoboda // RUN: cat %t/result.json | sed 's:\\\\\?:/:g' | FileCheck %s -DPREFIX=%/t 22c1c72302SJan Svoboda // CHECK: "translation-units": [ 23c1c72302SJan Svoboda // CHECK-NEXT: { 24c1c72302SJan Svoboda // CHECK-NEXT: "commands": [ 25c1c72302SJan Svoboda // CHECK: { 26c1c72302SJan Svoboda // CHECK: "command-line": [ 27c1c72302SJan Svoboda // CHECK: "-fmodule-map-file=[[PREFIX]]/frameworks/FW.framework/Modules/module.private.modulemap", 28c1c72302SJan Svoboda // CHECK: "-fmodule-name=FWPrivate", 29c1c72302SJan Svoboda // CHECK: ], 30*a26ec542SMartin Storsjö // CHECK: "file-deps": [ 31c1c72302SJan Svoboda // CHECK-NEXT: "[[PREFIX]]/tu.m" 32c1c72302SJan Svoboda // CHECK-NEXT: ], 33c1c72302SJan Svoboda // CHECK-NEXT: "input-file": "[[PREFIX]]/tu.m" 34c1c72302SJan Svoboda // CHECK-NEXT: } 35c1c72302SJan Svoboda // CHECK: ] 36c1c72302SJan Svoboda // CHECK: } 37c1c72302SJan Svoboda // CHECK: ] 38