summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/debug-info-template-member.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-08-28 23:06:52 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-08-28 23:06:52 +0000
commitf2053af82caeaebd5ddce1b45c148be80d8f326a (patch)
tree74e24bb2b5cf502bae80353179c17b96e089bf55 /clang/test/CodeGenCXX/debug-info-template-member.cpp
parent80ecd77303627ce398c1fbfcbeb7861c83964f45 (diff)
downloadbcm5719-llvm-f2053af82caeaebd5ddce1b45c148be80d8f326a.tar.gz
bcm5719-llvm-f2053af82caeaebd5ddce1b45c148be80d8f326a.zip
DebugInfo: Further fix/improvements to r189494 (and LLVM r189495).
Selfhosting was crashing with the same type of problem but involving template specializations. llvm-svn: 189530
Diffstat (limited to 'clang/test/CodeGenCXX/debug-info-template-member.cpp')
-rw-r--r--clang/test/CodeGenCXX/debug-info-template-member.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/clang/test/CodeGenCXX/debug-info-template-member.cpp b/clang/test/CodeGenCXX/debug-info-template-member.cpp
index cb9922cc1fc..afca2ac96a2 100644
--- a/clang/test/CodeGenCXX/debug-info-template-member.cpp
+++ b/clang/test/CodeGenCXX/debug-info-template-member.cpp
@@ -4,6 +4,8 @@ struct MyClass {
template <int i> int add(int j) {
return i + j;
}
+ virtual void func() {
+ }
};
int add2(int x) {
@@ -14,9 +16,12 @@ inline int add3(int x) {
return MyClass().add<3>(x); // even though add<3> is ODR used, don't emit it since we don't codegen it
}
-// CHECK: metadata [[C_MEM:![0-9]*]], i32 0, null, null, null} ; [ DW_TAG_structure_type ] [MyClass]
-// CHECK: [[C_MEM]] = metadata !{metadata [[C_TEMP:![0-9]*]]}
-// CHECK: [[C_TEMP]] = {{.*}} ; [ DW_TAG_subprogram ] [line 4] [add<2>]
+// CHECK: [[C:![0-9]*]] = {{.*}}, metadata [[C_MEM:![0-9]*]], i32 0, metadata [[C]], null, null} ; [ DW_TAG_structure_type ] [MyClass]
+// CHECK: [[C_MEM]] = metadata !{metadata [[C_VPTR:![0-9]*]], metadata [[C_ADD:![0-9]*]], metadata [[C_FUNC:![0-9]*]], metadata [[C_CTOR:![0-9]*]]}
+// CHECK: [[C_VPTR]] = {{.*}} ; [ DW_TAG_member ] [_vptr$MyClass]
+// CHECK: [[C_ADD]] = {{.*}} ; [ DW_TAG_subprogram ] [line 4] [add<2>]
+// CHECK: [[C_FUNC]] = {{.*}} ; [ DW_TAG_subprogram ] [line 7] [func]
+// CHECK: [[C_CTOR]] = {{.*}} ; [ DW_TAG_subprogram ] [line 0] [MyClass]
template<typename T>
struct outer {
OpenPOWER on IntegriCloud