xref: /llvm-project/llvm/test/tools/dsymutil/X86/op-convert.test (revision f1fdfe6888f93b9f6dfb4689e1f3206de584ff5b)
1# RUN: dsymutil -f -o %t --verify -oso-prepend-path=%p/../Inputs -y %s
2# RUN: llvm-dwarfdump %t | FileCheck %s
3
4# RUN: dsymutil --linker parallel -f -o %t --verify -oso-prepend-path=%p/../Inputs -y %s
5# RUN: llvm-dwarfdump %t | FileCheck %s
6
7---
8triple:          'x86_64-apple-darwin'
9objects:
10  - filename: op-convert.macho.x86_64
11    symbols:
12      - { sym: _foo, objAddr: 0x0, binAddr: 0x1000, size: 0x4 }
13...
14
15CHECK: DW_TAG_compile_unit
16CHECK: DW_AT_name        ("dbg.c")
17
18CHECK:0x[[ADDR1:[0-9a-f]+]]:      DW_TAG_base_type
19CHECK-NEXT:     DW_AT_name	("DW_ATE_signed_8")
20CHECK-NEXT:     DW_AT_encoding	(DW_ATE_signed)
21CHECK-NEXT:     DW_AT_byte_size	(0x01)
22
23CHECK:0x[[ADDR2:[0-9a-f]+]]:   DW_TAG_base_type
24CHECK-NEXT:     DW_AT_name	("DW_ATE_signed_32")
25CHECK-NEXT:     DW_AT_encoding	(DW_ATE_signed)
26CHECK-NEXT:     DW_AT_byte_size	(0x04)
27
28CHECK:     DW_TAG_variable
29CHECK-NEXT:     DW_AT_location	(
30CHECK-NEXT:     [0x0000000000001000,  0x0000000000001002): DW_OP_breg5 RDI+0, DW_OP_constu 0xffffffff, DW_OP_and, DW_OP_convert (0x[[ADDR1]]) "DW_ATE_signed_8", DW_OP_convert (0x[[ADDR2]]) "DW_ATE_signed_32", DW_OP_stack_value
31CHECK-NEXT:     [0x0000000000001002,  0x0000000000001003): DW_OP_breg0 RAX+0, DW_OP_constu 0xffffffff, DW_OP_and, DW_OP_convert (0x[[ADDR1]]) "DW_ATE_signed_8", DW_OP_convert (0x[[ADDR2]]) "DW_ATE_signed_32", DW_OP_stack_value)
32CHECK-NEXT:     DW_AT_name	("y")
33
34CHECK:     DW_TAG_variable
35CHECK-NEXT:     DW_AT_location	(DW_OP_constu 0x33, DW_OP_convert 0x0, DW_OP_stack_value)
36CHECK-NEXT:     DW_AT_name	("d")
37
38CHECK:     DW_TAG_variable
39CHECK-NEXT:     DW_AT_location	(DW_OP_constu 0x2a, DW_OP_convert (0x[[ADDR2]]) "DW_ATE_signed_32", DW_OP_stack_value)
40CHECK-NEXT:     DW_AT_name	("c")
41
42