brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 84561d3 Raw
69 lines · plain
1// Check that unused directly passed -fmodule-map-file options get dropped.2 3// RUN: rm -rf %t && split-file %s %t4// RUN: sed -e "s|DIR|%/t|g" %t/build/cdb.json.in > %t/build/cdb.json5// RUN: clang-scan-deps -compilation-database %t/build/cdb.json \6// RUN:   -format experimental-full > %t/deps.json7// RUN: cat %t/deps.json | sed 's:\\\\\?:/:g' | FileCheck %s -DPREFIX=%/t8 9// CHECK:      {10// CHECK-NEXT:   "modules": [11// CHECK-NEXT:     {12// CHECK-NEXT:       "clang-module-deps": [13// CHECK-NEXT:         {14// CHECK-NEXT:           "context-hash": "{{.*}}",15// CHECK-NEXT:           "module-name": "B"16// CHECK-NEXT:         }17// CHECK-NEXT:       ],18// CHECK-NEXT:       "clang-modulemap-file": "[[PREFIX]]/modules/A/module.modulemap",19// CHECK-NEXT:       "command-line": [20// CHECK-NOT:          "-fmodule-map-file=[[PREFIX]]/modules/A/module.modulemap"21// CHECK:              "-fmodule-map-file=[[PREFIX]]/modules/B/module.modulemap"22// CHECK-NOT:          "-fmodule-map-file=[[PREFIX]]/modules/A/module.modulemap"23// CHECK:            ],24// CHECK-NEXT:       "context-hash": "{{.*}}",25// CHECK-NEXT:       "file-deps": [26// CHECK:            ],27// CHECK-NEXT:       "link-libraries": [],28// CHECK-NEXT:       "name": "A"29// CHECK-NEXT:     },30// CHECK-NEXT:     {31// CHECK-NEXT:       "clang-module-deps": [],32// CHECK-NEXT:       "clang-modulemap-file": "[[PREFIX]]/modules/B/module.modulemap",33// CHECK-NEXT:       "command-line": [34// CHECK-NOT:          "-fmodule-map-file=35// CHECK:            ],36// CHECK-NEXT:       "context-hash": "{{.*}}",37// CHECK-NEXT:       "file-deps": [38// CHECK:            ],39// CHECK-NEXT:       "link-libraries": [],40// CHECK-NEXT:       "name": "B"41// CHECK-NEXT:     }42// CHECK-NEXT:   ],43// CHECK-NEXT:   "translation-units": [44// CHECK:        ]45// CHECK:      }46 47//--- build/cdb.json.in48[{49  "directory": "DIR",50  "command": "clang -c DIR/tu.m -I DIR/modules/B -fmodule-map-file=DIR/modules/A/module.modulemap -fmodules -fmodules-cache-path=DIR/cache -fimplicit-module-maps",51  "file": "DIR/tu.m"52}]53 54//--- build/vfs.yaml.in55 56//--- tu.m57@import A;58 59//--- modules/A/module.modulemap60module A { header "A.h" }61 62//--- modules/A/A.h63#include <B.h>64 65//--- modules/B/module.modulemap66module B { header "B.h" }67 68//--- modules/B/B.h69