brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · 030f7f3 Raw
109 lines · c
1// RUN: rm -rf %t2// RUN: split-file %s %t3 4//--- module.modulemap5module root { header "root.h" }6module direct { header "direct.h" }7module transitive { header "transitive.h" }8module root1 { header "root1.h"}9//--- root.h10#include "direct.h"11#include "root/textual.h"12 13//--- root1.h14#include "direct.h"15 16//--- direct.h17#include "transitive.h"18//--- transitive.h19// empty20 21//--- root/textual.h22// This is here to verify that the "root" directory doesn't clash with name of23// the "root" module.24 25//--- cdb.json.template26[{27  "file": "",28  "directory": "DIR",29  "command": "clang -fmodules -fmodules-cache-path=DIR/cache -I DIR -x c"30}]31 32// RUN: sed "s|DIR|%/t|g" %t/cdb.json.template > %t/cdb.json33// RUN: clang-scan-deps -compilation-database %t/cdb.json -format experimental-full -module-names=root,root1,direct > %t/result.json34// RUN: cat %t/result.json | sed 's:\\\\\?:/:g' | FileCheck -DPREFIX=%/t %s35 36// CHECK:      {37// CHECK-NEXT:   "modules": [38// CHECK-NEXT:     {39// CHECK-NEXT:       "clang-module-deps": [40// CHECK-NEXT:         {41// CHECK-NEXT:           "context-hash": "{{.*}}",42// CHECK-NEXT:           "module-name": "transitive"43// CHECK-NEXT:         }44// CHECK-NEXT:       ],45// CHECK-NEXT:       "clang-modulemap-file": "[[PREFIX]]/module.modulemap",46// CHECK-NEXT:       "command-line": [47// CHECK:            ],48// CHECK-NEXT:       "context-hash": "{{.*}}",49// CHECK-NEXT:       "file-deps": [50// CHECK-NEXT:         "[[PREFIX]]/module.modulemap",51// CHECK-NEXT:         "[[PREFIX]]/direct.h"52// CHECK-NEXT:       ],53// CHECK-NEXT:       "link-libraries": [],54// CHECK-NEXT:       "name": "direct"55// CHECK-NEXT:     },56// CHECK-NEXT:     {57// CHECK-NEXT:       "clang-module-deps": [58// CHECK-NEXT:         {59// CHECK-NEXT:           "context-hash": "{{.*}}",60// CHECK-NEXT:           "module-name": "direct"61// CHECK-NEXT:         }62// CHECK-NEXT:       ],63// CHECK-NEXT:       "clang-modulemap-file": "[[PREFIX]]/module.modulemap",64// CHECK-NEXT:       "command-line": [65// CHECK:            ],66// CHECK-NEXT:       "context-hash": "{{.*}}",67// CHECK-NEXT:       "file-deps": [68// CHECK-NEXT:         "[[PREFIX]]/module.modulemap",69// CHECK-NEXT:         "[[PREFIX]]/root.h",70// CHECK-NEXT:         "[[PREFIX]]/root/textual.h"71// CHECK-NEXT:       ],72// CHECK-NEXT:       "link-libraries": [],73// CHECK-NEXT:       "name": "root"74// CHECK-NEXT:     },75// CHECK-NEXT:     {76// CHECK-NEXT:       "clang-module-deps": [77// CHECK-NEXT:         {78// CHECK-NEXT:           "context-hash": "{{.*}}",79// CHECK-NEXT:           "module-name": "direct"80// CHECK-NEXT:         }81// CHECK-NEXT:       ],82// CHECK-NEXT:       "clang-modulemap-file": "[[PREFIX]]/module.modulemap",83// CHECK-NEXT:       "command-line": [84// CHECK:            ],85// CHECK-NEXT:       "context-hash": "{{.*}}",86// CHECK-NEXT:       "file-deps": [87// CHECK-NEXT:         "[[PREFIX]]/module.modulemap",88// CHECK-NEXT:         "[[PREFIX]]/root1.h"89// CHECK-NEXT:       ],90// CHECK-NEXT:       "link-libraries": [],91// CHECK-NEXT:       "name": "root1"92// CHECK-NEXT:     },93// CHECK-NEXT:     {94// CHECK-NEXT:       "clang-module-deps": [],95// CHECK-NEXT:       "clang-modulemap-file": "[[PREFIX]]/module.modulemap",96// CHECK-NEXT:       "command-line": [97// CHECK:            ],98// CHECK-NEXT:       "context-hash": "{{.*}}",99// CHECK-NEXT:       "file-deps": [100// CHECK-NEXT:         "[[PREFIX]]/module.modulemap",101// CHECK-NEXT:         "[[PREFIX]]/transitive.h"102// CHECK-NEXT:       ],103// CHECK-NEXT:       "link-libraries": [],104// CHECK-NEXT:       "name": "transitive"105// CHECK-NEXT:     }106// CHECK-NEXT:   ],107// CHECK-NEXT:   "translation-units": []108// CHECK-NEXT: }109