summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Modules')
-rw-r--r--clang/test/Modules/DebugInfoSubmodules.c15
-rw-r--r--clang/test/Modules/Inputs/DebugSubmoduleA.h3
-rw-r--r--clang/test/Modules/Inputs/DebugSubmoduleB.h3
-rw-r--r--clang/test/Modules/Inputs/module.map11
4 files changed, 32 insertions, 0 deletions
diff --git a/clang/test/Modules/DebugInfoSubmodules.c b/clang/test/Modules/DebugInfoSubmodules.c
new file mode 100644
index 00000000000..1cba00dc7c4
--- /dev/null
+++ b/clang/test/Modules/DebugInfoSubmodules.c
@@ -0,0 +1,15 @@
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -fmodules -fmodule-format=obj -g -dwarf-ext-refs \
+// RUN: -fimplicit-module-maps -x c -fmodules-cache-path=%t -I %S/Inputs \
+// RUN: %s -mllvm -debug-only=pchcontainer 2>&1 | FileCheck %s
+#include "DebugSubmoduleA.h"
+
+// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "A",
+// CHECK-SAME: scope: ![[SUBMODULEA:[0-9]+]]
+// CHECK: ![[SUBMODULEA]] = !DIModule(
+// CHECK-SAME: name: "DebugSubmodules.DebugSubmoduleA",
+
+// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "B",
+// CHECK-SAME: scope: ![[SUBMODULEB:[0-9]+]]
+// CHECK: ![[SUBMODULEB]] = !DIModule(
+// CHECK-SAME: name: "DebugSubmodules.DebugSubmoduleB",
diff --git a/clang/test/Modules/Inputs/DebugSubmoduleA.h b/clang/test/Modules/Inputs/DebugSubmoduleA.h
new file mode 100644
index 00000000000..1403a7d1568
--- /dev/null
+++ b/clang/test/Modules/Inputs/DebugSubmoduleA.h
@@ -0,0 +1,3 @@
+struct A {
+ int a;
+};
diff --git a/clang/test/Modules/Inputs/DebugSubmoduleB.h b/clang/test/Modules/Inputs/DebugSubmoduleB.h
new file mode 100644
index 00000000000..b06ae6a230d
--- /dev/null
+++ b/clang/test/Modules/Inputs/DebugSubmoduleB.h
@@ -0,0 +1,3 @@
+struct B {
+ int b;
+};
diff --git a/clang/test/Modules/Inputs/module.map b/clang/test/Modules/Inputs/module.map
index 79a9a47e584..27751d8fd51 100644
--- a/clang/test/Modules/Inputs/module.map
+++ b/clang/test/Modules/Inputs/module.map
@@ -364,3 +364,14 @@ module TargetFeatures {
module x86_64 { requires x86_64 }
}
}
+
+module DebugSubmodules {
+ module DebugSubmoduleA {
+ header "DebugSubmoduleA.h"
+ export *
+ }
+ module DebugSubmoduleB {
+ header "DebugSubmoduleB.h"
+ export *
+ }
+}
OpenPOWER on IntegriCloud