summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2015-09-20 16:51:35 +0000
committerAdrian Prantl <aprantl@apple.com>2015-09-20 16:51:35 +0000
commit9402cef0ae7a3835ed8701e3b13edf5659bdea1b (patch)
treed8daa3ae6f895b92e804de833611194f2572c4b6 /clang/test
parent707a406078a8867389b6ad1bff8c1e09b7937f82 (diff)
downloadbcm5719-llvm-9402cef0ae7a3835ed8701e3b13edf5659bdea1b.tar.gz
bcm5719-llvm-9402cef0ae7a3835ed8701e3b13edf5659bdea1b.zip
Module debugging: Support submodules in the PCM/PCH debug info.
llvm-svn: 248127
Diffstat (limited to 'clang/test')
-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