xref: /llvm-project/lldb/test/Shell/Breakpoint/debug_rnglist_basic.test (revision b587ca93be114d07ec3bf654add97d7872325281)
1*b587ca93SFangrui Song# RUN: yaml2obj %p/Inputs/debug_rnglist_basic.yaml -o %ttest
287aa9c9eSJonas Devlieghere# RUN: lldb-test breakpoints %ttest %s | FileCheck %s
387aa9c9eSJonas Devlieghere
487aa9c9eSJonas Devlieghere# The following code and invocation were used to produce yaml file,
587aa9c9eSJonas Devlieghere# which was manually reduced after that.
687aa9c9eSJonas Devlieghere# clang -O0 -gdwarf-5 test.cpp -o test -fuse-ld=lld -ffunction-sections
787aa9c9eSJonas Devlieghere#
887aa9c9eSJonas Devlieghere# //test.cpp:
987aa9c9eSJonas Devlieghere# int zed() {
1087aa9c9eSJonas Devlieghere#  return 1;
1187aa9c9eSJonas Devlieghere# }
1287aa9c9eSJonas Devlieghere#
1387aa9c9eSJonas Devlieghere# int main() {
1487aa9c9eSJonas Devlieghere#  return zed();
1587aa9c9eSJonas Devlieghere# }
1687aa9c9eSJonas Devlieghere#
1787aa9c9eSJonas Devlieghere# clang and LLD versions were 8.0.0 (trunk 343487)
1887aa9c9eSJonas Devlieghere#
1987aa9c9eSJonas Devlieghere# Output file contains .debug_rnglists section with basic entries:
2087aa9c9eSJonas Devlieghere# DW_RLE_start_length and DW_RLE_end_of_list.
2187aa9c9eSJonas Devlieghere# If LLDB would not be able to parse the section and entries correctly,
2287aa9c9eSJonas Devlieghere# then reported location would be incorrect.
2387aa9c9eSJonas Devlieghere
2487aa9c9eSJonas Devlieghereb main
2587aa9c9eSJonas Devlieghere# CHECK-LABEL: b main
2687aa9c9eSJonas Devlieghere# CHECK: Address: {{.*}}`main + 15 at test.cpp:6:9
2787aa9c9eSJonas Devlieghere
2887aa9c9eSJonas Devlieghereb zed
2987aa9c9eSJonas Devlieghere# CHECK-LABEL: b zed
3087aa9c9eSJonas Devlieghere# CHECK: Address: {{.*}}`zed() + 4 at test.cpp:2:2
31