llvm-mirror/test/DebugInfo/debuglineinfo.test
David Blaikie 46956547ea Reapply: DebugInfo: Assume an absence of ranges or high_pc on a CU means the CU is empty (devoid of code addresses)
Originally committed in r349333, reverted in r349353.

GCC emitted these unconditionally on/before 4.4/March 2012
Clang emitted these unconditionally on/before 3.5/March 2014

This improves performance when parsing CUs (especially those using split
DWARF) that contain no code ranges (such as the mini CUs that may be
created by ThinLTO importing - though generally they should be/are
avoided, especially for Split DWARF because it produces a lot of very
small CUs, which don't scale well in a bunch of other ways too
(including size)).

The revert was due to a (Google internal) test that had some checked in old
object files missing DW_AT_ranges. That's since been fixed.

llvm-svn: 349968
2018-12-21 22:25:01 +00:00

20 lines
812 B
Plaintext

RUN: llvm-rtdyld -printline %p/Inputs/test-inline.o \
RUN: | FileCheck %s
RUN: llvm-rtdyld -printdebugline %p/Inputs/test-inline.o \
RUN: | FileCheck %s
RUN: llvm-rtdyld -printline %p/Inputs/test-parameters.o \
RUN: | FileCheck %s
RUN: llvm-rtdyld -printdebugline %p/Inputs/test-parameters.o \
RUN: | FileCheck %s
; This test verifies that relocations are correctly applied to the
; .debug_line section and exercises DIContext::getLineInfoForAddressRange().
CHECK: Function: _Z2f1v, Size = 6
CHECK-NEXT: Line info @ 0: test-inline.cpp, line:1
CHECK-NEXT: Line info @ 4: test-inline.cpp, line:1
CHECK-NEXT: Function: _Z2f2v, Size = 11
CHECK-NEXT: Line info @ 0: test-inline.cpp, line:2
CHECK-NEXT: Line info @ 4: test-inline.cpp, line:2
CHECK-NEXT: Line info @ 9: test-inline.cpp, line:2