[flang][cuda] Adapt ExternalNameConversion to work in gpu module (#117039)
[llvm-project.git] / clang / test / ClangScanDeps / optimize-fmodulemap.m
blob84561d3a44a07451ab39ebfb25c9a3c275f9e279
1 // Check that unused directly passed -fmodule-map-file options get dropped.
3 // RUN: rm -rf %t && split-file %s %t
4 // RUN: sed -e "s|DIR|%/t|g" %t/build/cdb.json.in > %t/build/cdb.json
5 // RUN: clang-scan-deps -compilation-database %t/build/cdb.json \
6 // RUN:   -format experimental-full > %t/deps.json
7 // RUN: cat %t/deps.json | sed 's:\\\\\?:/:g' | FileCheck %s -DPREFIX=%/t
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:      }
47 //--- build/cdb.json.in
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"
54 //--- build/vfs.yaml.in
56 //--- tu.m
57 @import A;
59 //--- modules/A/module.modulemap
60 module A { header "A.h" }
62 //--- modules/A/A.h
63 #include <B.h>
65 //--- modules/B/module.modulemap
66 module B { header "B.h" }
68 //--- modules/B/B.h