1 // RUN: rm -rf %t
2 // RUN: %clang_cc1 -fmodules -fmodule-format=obj -debug-info-kind=limited -dwarf-ext-refs \
3 // RUN:     -fimplicit-module-maps -x c -fmodules-cache-path=%t -I %S/Inputs \
4 // RUN:     %s -emit-llvm -debugger-tuning=lldb -o - | FileCheck %s
5 //
6 // RUN: %clang_cc1 -fmodules -fmodule-format=obj -debug-info-kind=limited -dwarf-ext-refs \
7 // RUN:     -fimplicit-module-maps -x c -fmodules-cache-path=%t -I %S/Inputs \
8 // RUN:     -fmodules-local-submodule-visibility \
9 // RUN:     %s -emit-llvm -debugger-tuning=lldb -o - | FileCheck %s
10 #include "DebugSubmoduleA.h"
11 #include "DebugSubmoduleB.h"
12 
13 // CHECK: !DICompileUnit
14 // CHECK-NOT: !DICompileUnit
15 // CHECK: !DIModule(scope: ![[PARENT:.*]], name: "DebugSubmoduleA"
16 // CHECK: [[PARENT]] = !DIModule(scope: null, name: "DebugSubmodules"
17 // CHECK: !DIModule(scope: ![[PARENT]], name: "DebugSubmoduleB"
18 // CHECK: !DICompileUnit({{.*}}splitDebugFilename: {{.*}}DebugSubmodules
19 // CHECK-SAME:                 dwoId:
20 // CHECK-NOT: !DICompileUnit
21