summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-info-class.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2012-11-02 20:49:01 +0000
committerDavid Blaikie <dblaikie@gmail.com>2012-11-02 20:49:01 +0000
commitd37bbc3e0051db10aab98e50da2a64707a612c14 (patch)
treeec480cd9f6c3d9bd9c208b813bd896a4abd37ee2 /clang/test/CodeGenCXX/debug-info-class.cpp
parent7df3501b492244b1377d9f287538a54cb5816b13 (diff)
downloadbcm5719-llvm-d37bbc3e0051db10aab98e50da2a64707a612c14.tar.gz
bcm5719-llvm-d37bbc3e0051db10aab98e50da2a64707a612c14.zip
Fix debug tag type of forward declarations of struct/class in C++.
llvm-svn: 167308
Diffstat (limited to 'clang/test/CodeGenCXX/debug-info-class.cpp')
-rw-r--r--clang/test/CodeGenCXX/debug-info-class.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/clang/test/CodeGenCXX/debug-info-class.cpp b/clang/test/CodeGenCXX/debug-info-class.cpp
index 151c5f90534..dca8535fb2b 100644
--- a/clang/test/CodeGenCXX/debug-info-class.cpp
+++ b/clang/test/CodeGenCXX/debug-info-class.cpp
@@ -1,12 +1,24 @@
-// RUN: %clang -emit-llvm -g -S %s -o - | grep HdrSize
-struct A {
+// RUN: %clang -emit-llvm -g -S %s -o - | FileCheck %s
+struct foo;
+void func(foo *f) { // CHECK: DW_TAG_structure_type
+}
+class bar;
+void func(bar *f) { // CHECK: DW_TAG_class_type
+}
+union baz;
+void func(baz *f) { // CHECK: DW_TAG_union_type
+}
+struct A { // FIXME: we're still emitting this as DW_TAG_class_type
int one;
- static const int HdrSize = 52;
+ static const int HdrSize = 52; // CHECK: HdrSize
int two;
A() {
int x = 1;
}
};
+class B { // CHECK: DW_TAG_class_type
+};
int main() {
A a;
+ B b;
}
OpenPOWER on IntegriCloud