llvm/llvm/test/DebugInfo/debugmacinfo.test

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