From d37bbc3e0051db10aab98e50da2a64707a612c14 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Fri, 2 Nov 2012 20:49:01 +0000 Subject: Fix debug tag type of forward declarations of struct/class in C++. llvm-svn: 167308 --- clang/test/CodeGenCXX/debug-info-class.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'clang/test/CodeGenCXX/debug-info-class.cpp') 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; } -- cgit v1.2.3