mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Add a DIELoc class to cover the DW_FORM_exprloc set of expressions
alongside DIEBlock and replace uses accordingly. Use DW_FORM_exprloc in DWARF4 and later code. Update testcases. Adding a DIELoc instead of using extra forms inside DIEBlock so that we can keep location expressions separate from other uses. No direct use at the moment, however, it's not a lot of code and using a separately named class keeps it somewhat more obvious what's going on in various locations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201481 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
|
||||
target triple = "x86_64-apple-darwin8"
|
||||
|
||||
;CHECK: DW_AT_location{{.*}}(<0x01> 55 )
|
||||
;CHECK: DW_AT_location{{.*}}(<0x1> 55 )
|
||||
|
||||
%0 = type { i64, i1 }
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
; CHECK: DW_AT_external DW_FORM_flag_present
|
||||
; CHECK: DW_AT_decl_file DW_FORM_data1
|
||||
; CHECK: DW_AT_decl_line DW_FORM_data1
|
||||
; CHECK: DW_AT_location DW_FORM_block1
|
||||
; CHECK: DW_AT_location DW_FORM_exprloc
|
||||
|
||||
; CHECK: [3] DW_TAG_base_type DW_CHILDREN_no
|
||||
; CHECK: DW_AT_name DW_FORM_GNU_str_index
|
||||
@@ -80,7 +80,7 @@
|
||||
; CHECK: DW_AT_external [DW_FORM_flag_present] (true)
|
||||
; CHECK: DW_AT_decl_file [DW_FORM_data1] (0x01)
|
||||
; CHECK: DW_AT_decl_line [DW_FORM_data1] (0x01)
|
||||
; CHECK: DW_AT_location [DW_FORM_block1] (<0x02> fb 00 )
|
||||
; CHECK: DW_AT_location [DW_FORM_exprloc] (<0x2> fb 00 )
|
||||
; CHECK: [[TYPE]]: DW_TAG_base_type
|
||||
; CHECK: DW_AT_name [DW_FORM_GNU_str_index] ( indexed (00000003) string = "int")
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
; The address of the global 'glbl', followed by DW_OP_stack_value (9f), to use
|
||||
; the value immediately, rather than indirecting through the address.
|
||||
|
||||
; CHECK-NEXT: DW_AT_location [DW_FORM_block1]{{ *}}(<0x0a> 03 00 00 00 00 00 00 00 00 9f )
|
||||
; CHECK-NEXT: DW_AT_location [DW_FORM_exprloc]{{ *}}(<0xa> 03 00 00 00 00 00 00 00 00 9f )
|
||||
; CHECK-NOT: NULL
|
||||
|
||||
; CHECK: DW_TAG_GNU_template_template_param
|
||||
|
||||
Reference in New Issue
Block a user