57 lines · plain
1## Show that the DW_LNE_end_sequence opcode resets the line state2## properly and the rows are printed correctly.3 4# RUN: llvm-mc -filetype obj -triple x86_64 %s -o %t.o5# RUN: llvm-dwarfdump --debug-line %t.o | FileCheck %s --check-prefixes=HEADER,ROWS6# RUN: llvm-dwarfdump --debug-line %t.o --verbose | FileCheck %s --check-prefix=ROWS7 8# HEADER: Address Line Column File ISA Discriminator OpIndex Flags9# HEADER-NEXT: ------------------ ------ ------ ------ --- ------------- ------- -------------10# ROWS: 0x0000000012345678 1 0 1 0 1 0 is_stmt basic_block prologue_end epilogue_begin end_sequence11# ROWS: 0x0000000000000001 2 0 1 0 0 0 is_stmt12# ROWS: 0x0000000000000001 2 0 1 0 0 0 is_stmt end_sequence13 14.section .debug_line,"",@progbits15.Line_table_start0:16 .long .Line_table_end0-.Line_table_start0-4 # Length of Unit17 .short 5 # DWARF version number18 .byte 8 # Address Size19 .byte 0 # Segment Selector Size20 .long .Line_table_header_end0-.Line_table_params0 # Length of Prologue21.Line_table_params0:22 .byte 1 # Minimum Instruction Length23 .byte 1 # Maximum Operations per Instruction24 .byte 1 # Default is_stmt25 .byte -5 # Line Base26 .byte 14 # Line Range27 .byte 13 # Opcode Base28 .byte 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 # Standard Opcode Lengths29 # Directory table format30 .byte 1 # One element per directory entry31 .byte 1 # DW_LNCT_path32 .byte 0x08 # DW_FORM_string33 # Directory table entries34 .byte 1 # 1 directory35 .asciz "/tmp"36 # File table format37 .byte 2 # 2 elements per file entry38 .byte 1 # DW_LNCT_path39 .byte 0x08 # DW_FORM_string40 .byte 2 # DW_LNCT_directory_index41 .byte 0x0b # DW_FORM_data142 # File table entries43 .byte 1 # 1 file44 .asciz "a.c"45 .byte 046.Line_table_header_end0:47 .byte 0,9,2 # DW_LNE_set_address48 .quad 0x1234567849 .byte 7 # DW_LNS_set_basic_block50 .byte 10 # DW_LNS_set_prologue_end51 .byte 11 # DW_LNS_set_epilogue_begin52 .byte 0,2,4,1 # DW_LNE_set_discriminator 153 .byte 0,1,1 # DW_LNE_end_sequence54 .byte 33 # address += 1, line += 155 .byte 0,1,1 # DW_LNE_end_sequence56.Line_table_end0:57