1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/tools/llvm-dwarfdump/X86/verify_attr_file_indexes.yaml
Xing GUO 3c2809fd0d [DWARFYAML] Make the include_directories, file_names and opcodes fields of the line table optional.
This patch makes the include_directories, file_names and opcodes fields
of the line table optional. This helps us simplify some tests.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D87878
2020-09-18 20:21:11 +08:00

122 lines
4.5 KiB
YAML

# RUN: yaml2obj %s | not llvm-dwarfdump --verify - | FileCheck %s --implicit-check-not=error:
# CHECK: error: DIE has DW_AT_decl_file with an invalid file index 2 (valid values are [1-1]){{[[:space:]]}}
# CHECK-NEXT: 0x0000001e: DW_TAG_subprogram
# CHECK-NEXT: DW_AT_name ("main")
# CHECK-NEXT: DW_AT_low_pc (0x0000000000001000)
# CHECK-NEXT: DW_AT_high_pc (0x0000000000002000)
# CHECK-NEXT: DW_AT_decl_file (0x02)
# CHECK-NEXT: DW_AT_call_line (5){{[[:space:]]}}
# CHECK-NEXT: error: DIE has DW_AT_call_file with an invalid file index 3 (valid values are [1-1]){{[[:space:]]}}
# CHECK-NEXT: 0x00000035: DW_TAG_inlined_subroutine
# CHECK-NEXT: DW_AT_name ("inline1")
# CHECK-NEXT: DW_AT_low_pc (0x0000000000001100)
# CHECK-NEXT: DW_AT_high_pc (0x0000000000001200)
# CHECK-NEXT: DW_AT_call_file (0x03)
# CHECK-NEXT: DW_AT_call_line (10){{[[:space:]]}}
# CHECK: Errors detected.
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_X86_64
DWARF:
debug_str:
- ''
- '/tmp/main.c'
- main
- inline1
debug_abbrev:
- Table:
- Code: 0x0000000000000001
Tag: DW_TAG_compile_unit
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_language
Form: DW_FORM_data2
- Attribute: DW_AT_low_pc
Form: DW_FORM_addr
- Attribute: DW_AT_stmt_list
Form: DW_FORM_sec_offset
- Code: 0x0000000000000002
Tag: DW_TAG_subprogram
Children: DW_CHILDREN_yes
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_low_pc
Form: DW_FORM_addr
- Attribute: DW_AT_high_pc
Form: DW_FORM_addr
- Attribute: DW_AT_decl_file
Form: DW_FORM_data1
- Attribute: DW_AT_call_line
Form: DW_FORM_data1
- Code: 0x0000000000000003
Tag: DW_TAG_inlined_subroutine
Children: DW_CHILDREN_no
Attributes:
- Attribute: DW_AT_name
Form: DW_FORM_strp
- Attribute: DW_AT_low_pc
Form: DW_FORM_addr
- Attribute: DW_AT_high_pc
Form: DW_FORM_data4
- Attribute: DW_AT_call_file
Form: DW_FORM_data1
- Attribute: DW_AT_call_line
Form: DW_FORM_data1
debug_info:
- Length: 0x0000000000000046
Version: 4
AbbrOffset: 0x0000000000000000
AddrSize: 8
Entries:
- AbbrCode: 0x00000001
Values:
- Value: 0x0000000000000001
- Value: 0x0000000000000002
- Value: 0x0000000000000000
- Value: 0x0000000000000000
- AbbrCode: 0x00000002
Values:
- Value: 0x000000000000000D
- Value: 0x0000000000001000
- Value: 0x0000000000002000
- Value: 0x0000000000000002
- Value: 0x0000000000000005
- AbbrCode: 0x00000003
Values:
- Value: 0x0000000000000012
- Value: 0x0000000000001100
- Value: 0x0000000000000100
- Value: 0x0000000000000003
- Value: 0x000000000000000A
- AbbrCode: 0x00000000
Values: []
- AbbrCode: 0x00000000
Values: []
debug_line:
- Length: 40
Version: 2
PrologueLength: 34
MinInstLength: 1
DefaultIsStmt: 1
LineBase: 251
LineRange: 14
OpcodeBase: 13
StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ]
IncludeDirs:
- '/tmp'
Files:
- Name: main.c
DirIdx: 1
ModTime: 0
Length: 0
...