4 # RUN: yaml2obj %p/Inputs/split-dwarf5-debug-stroffsets-file1.dwo.yaml -o %t.dir/file1.dwo
5 # RUN: yaml2obj %p/Inputs/split-dwarf5-debug-stroffsets-file2.dwo.yaml -o %t.dir/file2.dwo
6 # RUN: yaml2obj %p/Inputs/split-dwarf5-debug-stroffsets-main.yaml -o %t.dir/test
7 # RUN: lldb-test breakpoints %t.dir/test %s | FileCheck %s
9 # This test checks that source code location is shown correctly
10 # when split DWARF 5 is used and both DWO/executable file contains
11 # .debug_str_offsets/.debug_str_offsets.dwo sections.
12 # Used clang version 8.0.0 (trunk 347299)
14 # split-dwarf5-debug-stroffsets-file1.dwo.yaml, split-dwarf5-debug-stroffsets-file2.dwo.yaml
15 # and split-dwarf5-debug-stroffsets-main.yaml are reduced yaml files produces
16 # from the DWO files and the corresponding executable.
39 # struct1::~struct1() {
43 # void struct1::f() {}
66 # struct2::~struct2() {
70 # void struct2::f() {}
73 # Invocation used was:
74 # clang++ file1.cpp -o file1.o -g -fno-rtti -c -gdwarf-5 -gsplit-dwarf -ffunction-sections
75 # clang++ file2.cpp -o file2.o -g -fno-rtti -c -gdwarf-5 -gsplit-dwarf -ffunction-sections
76 # clang++ file1.o file2.o -g -fno-rtti -gdwarf-5 -o test -gsplit-dwarf -ffunction-sections
79 # CHECK-LABEL: b struct1::f
80 # CHECK: Address: {{.*}}struct1::f() + 4 at file1.cpp:11:20
83 # CHECK-LABEL: b struct2::f
84 # CHECK: Address: {{.*}}struct2::f() + 4 at file2.cpp:7:20