Add testcase for llvm-dwarfdump to test parsing of the pubnames data.

llvm-svn: 175168
This commit is contained in:
Krzysztof Parzyszek 2013-02-14 16:10:58 +00:00
parent 79c47e94d7
commit e5b4384acf
3 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,32 @@
// Object file built using:
// clang -g -mllvm -generate-dwarf-pubnames -o dwarfdump-pubnames.elf-x86_64 \
// dwarfdump-pubnames.cc -c
struct C {
void member_function();
static int static_member_function();
static int static_member_variable;
};
int C::static_member_variable = 0;
void C::member_function() {
static_member_variable = 0;
}
int C::static_member_function() {
return static_member_variable;
}
C global_variable;
int global_function() {
return -1;
}
namespace ns {
void global_namespace_function() {
global_variable.member_function();
}
int global_namespace_variable = 1;
}

Binary file not shown.

View File

@ -0,0 +1,16 @@
RUN: llvm-dwarfdump %p/Inputs/dwarfdump-pubnames.elf-x86-64 \
RUN: -debug-dump=pubnames | FileCheck %s
CHECK: .debug_pubnames contents:
CHECK: Length: 161
CHECK: Version: 2
CHECK: Offset in .debug_info: 0
CHECK: Size: 321
CHECK: Offset Name
CHECK: 98 global_namespace_variable
CHECK: a7 global_namespace_function
CHECK: ec static_member_function
CHECK: 7c global_variable
CHECK: 103 global_function
CHECK: c2 member_function