From f64edf8d802824202b50046638696a6b7897d4d6 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Fri, 8 Feb 2013 14:34:33 +0000 Subject: Update tests for DWARF parser: store sources next to pre-built object files and provide build instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174711 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/DebugInfo/Inputs/dwarfdump-inl-test.cc | 15 ++++++++++++++ .../DebugInfo/Inputs/dwarfdump-inl-test.elf-x86-64 | Bin 7468 -> 9024 bytes test/DebugInfo/Inputs/dwarfdump-inl-test.h | 9 ++++++++ test/DebugInfo/Inputs/dwarfdump-test.cc | 23 +++++++++++++++++++++ test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64 | Bin 10174 -> 9640 bytes test/DebugInfo/Inputs/dwarfdump-test2-helper.cc | 3 +++ test/DebugInfo/Inputs/dwarfdump-test2-main.cc | 11 ++++++++++ test/DebugInfo/Inputs/dwarfdump-test2.elf-x86-64 | Bin 7702 -> 9160 bytes test/DebugInfo/Inputs/dwarfdump-test3-decl.h | 7 +++++++ test/DebugInfo/Inputs/dwarfdump-test3-decl2.h | 1 + test/DebugInfo/Inputs/dwarfdump-test3.cc | 12 +++++++++++ test/DebugInfo/Inputs/dwarfdump-test3.elf-x86-64 | Bin 7339 -> 8944 bytes test/DebugInfo/Inputs/dwarfdump-test4-decl.h | 1 + test/DebugInfo/Inputs/dwarfdump-test4-part1.cc | 8 +++++++ test/DebugInfo/Inputs/dwarfdump-test4-part2.cc | 2 ++ test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64 | Bin 7689 -> 9368 bytes test/DebugInfo/Inputs/lit.local.cfg | 1 + 17 files changed, 93 insertions(+) create mode 100644 test/DebugInfo/Inputs/dwarfdump-inl-test.cc create mode 100644 test/DebugInfo/Inputs/dwarfdump-inl-test.h create mode 100644 test/DebugInfo/Inputs/dwarfdump-test.cc create mode 100644 test/DebugInfo/Inputs/dwarfdump-test2-helper.cc create mode 100644 test/DebugInfo/Inputs/dwarfdump-test2-main.cc create mode 100644 test/DebugInfo/Inputs/dwarfdump-test3-decl.h create mode 100644 test/DebugInfo/Inputs/dwarfdump-test3-decl2.h create mode 100644 test/DebugInfo/Inputs/dwarfdump-test3.cc create mode 100644 test/DebugInfo/Inputs/dwarfdump-test4-decl.h create mode 100644 test/DebugInfo/Inputs/dwarfdump-test4-part1.cc create mode 100644 test/DebugInfo/Inputs/dwarfdump-test4-part2.cc create mode 100644 test/DebugInfo/Inputs/lit.local.cfg (limited to 'test/DebugInfo/Inputs') diff --git a/test/DebugInfo/Inputs/dwarfdump-inl-test.cc b/test/DebugInfo/Inputs/dwarfdump-inl-test.cc new file mode 100644 index 0000000000..8ffbb528f2 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-inl-test.cc @@ -0,0 +1,15 @@ +#include "dwarfdump-inl-test.h" +static inline int inlined_f() { + volatile int x = inlined_g(); + return x; +} + +int main() { + return inlined_f(); +} + +// Built with Clang 3.2 +// $ mkdir -p /tmp/dbginfo +// $ cp dwarfdump-inl-test.* /tmp/dbginfo +// $ cd /tmp/dbginfo +// $ clang++ -O2 -gline-tables-only -fsanitize=address -fPIC -shared dwarfdump-inl-test.cc -o diff --git a/test/DebugInfo/Inputs/dwarfdump-inl-test.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-inl-test.elf-x86-64 index 9a1d5383ca..6df03dad95 100755 Binary files a/test/DebugInfo/Inputs/dwarfdump-inl-test.elf-x86-64 and b/test/DebugInfo/Inputs/dwarfdump-inl-test.elf-x86-64 differ diff --git a/test/DebugInfo/Inputs/dwarfdump-inl-test.h b/test/DebugInfo/Inputs/dwarfdump-inl-test.h new file mode 100644 index 0000000000..ecc2aaac09 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-inl-test.h @@ -0,0 +1,9 @@ +inline int inlined_h() { + volatile int z = 0; + return z; +} + +inline int inlined_g() { + volatile int y = inlined_h(); + return y; +} diff --git a/test/DebugInfo/Inputs/dwarfdump-test.cc b/test/DebugInfo/Inputs/dwarfdump-test.cc new file mode 100644 index 0000000000..4089998649 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test.cc @@ -0,0 +1,23 @@ +class DummyClass { + int a_; + public: + DummyClass(int a) : a_(a) {} + int add(int b) { + return a_ + b; + } +}; + +int f(int a, int b) { + DummyClass c(a); + return c.add(b); +} + +int main() { + return f(2, 3); +} + +// Built with Clang 3.2: +// $ mkdir -p /tmp/dbginfo +// $ cp dwarfdump-test.cc /tmp/dbginfo +// $ cd /tmp/dbginfo +// $ clang++ -g dwarfdump-test.cc -o diff --git a/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64 index fe20c8e596..455dd1ce4f 100755 Binary files a/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64 and b/test/DebugInfo/Inputs/dwarfdump-test.elf-x86-64 differ diff --git a/test/DebugInfo/Inputs/dwarfdump-test2-helper.cc b/test/DebugInfo/Inputs/dwarfdump-test2-helper.cc new file mode 100644 index 0000000000..7d9264050b --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test2-helper.cc @@ -0,0 +1,3 @@ +extern "C" int a() { + return 0; +} diff --git a/test/DebugInfo/Inputs/dwarfdump-test2-main.cc b/test/DebugInfo/Inputs/dwarfdump-test2-main.cc new file mode 100644 index 0000000000..b327674ab7 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test2-main.cc @@ -0,0 +1,11 @@ +extern "C" int a(); + +int main() { + return a(); +} + +// Built with gcc 4.6.3 +// $ mkdir -p /tmp/dbginfo +// $ cp dwarfdump-test2-helper.cc dwarfdump-test2-main.cc /tmp/dbginfo/ +// $ cd /tmp/dbginfo +// $ g++ -g dwarfdump-test2-helper.cc dwarfdump-test2-main.cc -o diff --git a/test/DebugInfo/Inputs/dwarfdump-test2.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-test2.elf-x86-64 index ce4af7fd06..6f362ad62c 100755 Binary files a/test/DebugInfo/Inputs/dwarfdump-test2.elf-x86-64 and b/test/DebugInfo/Inputs/dwarfdump-test2.elf-x86-64 differ diff --git a/test/DebugInfo/Inputs/dwarfdump-test3-decl.h b/test/DebugInfo/Inputs/dwarfdump-test3-decl.h new file mode 100644 index 0000000000..4a79e959b0 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test3-decl.h @@ -0,0 +1,7 @@ +#include "dwarfdump-test3-decl2.h" + +class C { + explicit C(bool a = false, bool b = false); +}; + +void do1() {} diff --git a/test/DebugInfo/Inputs/dwarfdump-test3-decl2.h b/test/DebugInfo/Inputs/dwarfdump-test3-decl2.h new file mode 100644 index 0000000000..9c92d56fcf --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test3-decl2.h @@ -0,0 +1 @@ +void do2() { } diff --git a/test/DebugInfo/Inputs/dwarfdump-test3.cc b/test/DebugInfo/Inputs/dwarfdump-test3.cc new file mode 100644 index 0000000000..7b4d7ea711 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test3.cc @@ -0,0 +1,12 @@ +#include "dwarfdump-test3-decl.h" + +C::C(bool a, bool b) {} + +// Built with gcc 4.6.3 +// $ mkdir -p /tmp/dbginfo/include +// $ mkdir -p /tmp/include +// $ cp dwarfdump-test3.cc /tmp/dbginfo +// $ cp dwarfdump-test3-decl.h /tmp/include +// $ cp dwarfdump-test3-decl2.h /tmp/dbginfo/include +// $ cd /tmp/dbginfo +// $ gcc dwarfdump-test3.cc -g -I/tmp/include -Iinclude -fPIC -shared -o diff --git a/test/DebugInfo/Inputs/dwarfdump-test3.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-test3.elf-x86-64 index 7c17304620..7330cd8baa 100755 Binary files a/test/DebugInfo/Inputs/dwarfdump-test3.elf-x86-64 and b/test/DebugInfo/Inputs/dwarfdump-test3.elf-x86-64 differ diff --git a/test/DebugInfo/Inputs/dwarfdump-test4-decl.h b/test/DebugInfo/Inputs/dwarfdump-test4-decl.h new file mode 100644 index 0000000000..9abd875415 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test4-decl.h @@ -0,0 +1 @@ +inline void a(){} diff --git a/test/DebugInfo/Inputs/dwarfdump-test4-part1.cc b/test/DebugInfo/Inputs/dwarfdump-test4-part1.cc new file mode 100644 index 0000000000..94a818cddd --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test4-part1.cc @@ -0,0 +1,8 @@ +#include "dwarfdump-test4-decl.h" +int c(){a();} + +// Built with gcc 4.6.3 +// $ mkdir -p /tmp/dbginfo +// $ cp dwarfdump-test4-*.* /tmp/dbginfo +// $ cd /tmp/dbginfo +// $ gcc -fPIC -shared -g dwarfdump-test4-part*.cc -o diff --git a/test/DebugInfo/Inputs/dwarfdump-test4-part2.cc b/test/DebugInfo/Inputs/dwarfdump-test4-part2.cc new file mode 100644 index 0000000000..2a1936f0b3 --- /dev/null +++ b/test/DebugInfo/Inputs/dwarfdump-test4-part2.cc @@ -0,0 +1,2 @@ +#include "dwarfdump-test4-decl.h" +int d(){a();} diff --git a/test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64 index 884870859d..a1dd8b91ba 100755 Binary files a/test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64 and b/test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64 differ diff --git a/test/DebugInfo/Inputs/lit.local.cfg b/test/DebugInfo/Inputs/lit.local.cfg new file mode 100644 index 0000000000..e6f55eef7a --- /dev/null +++ b/test/DebugInfo/Inputs/lit.local.cfg @@ -0,0 +1 @@ +config.suffixes = [] -- cgit v1.2.3