From aa9524a4c91e5f2363f29306072c6636e429c4ac Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Tue, 20 May 2014 02:19:15 +0000 Subject: [PATCH] Update test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll to use FileCheck. llvm-svn: 209187 --- test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll b/test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll index bec0318a33f..a9c169c61f8 100644 --- a/test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll +++ b/test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll @@ -1,6 +1,21 @@ -; RUN: llvm-as < %s | %llc_dwarf -asm-verbose -O0 | grep AT_specification | count 2 +; REQUIRES: object-emission + +; RUN: %llc_dwarf -O0 -filetype=obj -o - < %s | llvm-dwarfdump -debug-dump=info - | FileCheck %s ; Radar 7833483 -; Do not emit AT_specification for nested function foo. +; Do not emit a separate out-of-line definition DIE for the function-local 'foo' +; function (member of the function local 'A' type) +; CHECK: DW_TAG_class +; CHECK-NEXT: DW_AT_name {{.*}} "A" +; Check that the subprogram inside the class definition has low_pc, only +; attached to the definition. +; CHECK: [[FOO_INL:0x........]]: DW_TAG_subprogram +; CHECK-NEXT: DW_AT_MIPS_linkage_name {{.*}} "_ZZN1B2fnEvEN1A3fooEv" +; CHECK-NOT: NULL +; CHECK-NOT: DW_TAG +; CHECK: DW_AT_low_pc +; And just double check that there's no out of line definition that references +; this subprogram. +; CHECK-NOT: DW_AT_specification {{.*}} {[[FOO_INL]]} %class.A = type { i8 } %class.B = type { i8 }