1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/DebugInfo/debugmacinfo.test
Scott Linder 03316a5291 [DebugInfo] Support DWARF v5 source code embedding extension
In DWARF v5 the Line Number Program Header is extensible, allowing values with
new content types. In this extension a content type is added,
DW_LNCT_LLVM_source, which contains the embedded source code of the file.

Add new optional attribute for !DIFile IR metadata called source which contains
source text. Use this to output the source to the DWARF line table of code
objects. Analogously extend METADATA_FILE in Bitcode and .file directive in ASM
to support optional source.

Teach llvm-dwarfdump and llvm-objdump about the new values. Update the output
format of llvm-dwarfdump to make room for the new attribute on file_names
entries, and support embedded sources for the -source option in llvm-objdump.

Differential Revision: https://reviews.llvm.org/D42765

llvm-svn: 325970
2018-02-23 23:01:06 +00:00

34 lines
1.4 KiB
Plaintext

RUN: llvm-dwarfdump -debug-macro %p/Inputs/dwarfdump-macro.o \
RUN: | FileCheck %s -check-prefix TEST_MACINFO
RUN: llvm-dwarfdump -debug-line %p/Inputs/dwarfdump-macro.o \
RUN: | FileCheck %s -check-prefix TEST_LINE
; This test verifies that llvm-dwarfdump tools know how to read .debug_macinfo
; section. It also checks that the file numbers fits with those in the
; .debug_line section.
TEST_MACINFO: .debug_macinfo contents:
TEST_MACINFO: DW_MACINFO_define - lineno: 0 macro: M3 Value3
TEST_MACINFO: DW_MACINFO_start_file - lineno: 0 filenum: 1
TEST_MACINFO: DW_MACINFO_start_file - lineno: 0 filenum: 2
TEST_MACINFO: DW_MACINFO_define - lineno: 1 macro: M4 Value4
TEST_MACINFO: DW_MACINFO_end_file
TEST_MACINFO: DW_MACINFO_define - lineno: 1 macro: M1 Value1
TEST_MACINFO: DW_MACINFO_start_file - lineno: 2 filenum: 3
TEST_MACINFO: DW_MACINFO_undef - lineno: 4 macro: M1
TEST_MACINFO: DW_MACINFO_define - lineno: 5 macro: M1 NewValue1
TEST_MACINFO: DW_MACINFO_end_file
TEST_MACINFO: DW_MACINFO_define - lineno: 3 macro: M2(x,y) ((x)+(y)* Value2)
TEST_MACINFO: DW_MACINFO_end_file
TEST_LINE: .debug_line contents:
TEST_LINE: file_names[ 1]:
TEST_LINE-NEXT: name: "dwarfdump-macro.cc"
TEST_LINE-NEXT: dir_index: 0
TEST_LINE: file_names[ 2]:
TEST_LINE-NEXT: name: "dwarfdump-macro-cmd.h"
TEST_LINE-NEXT: dir_index: 1
TEST_LINE: file_names[ 3]:
TEST_LINE-NEXT: name: "dwarfdump-macro.h"
TEST_LINE-NEXT: dir_index: 0