diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/opt-out-not-implptr.exp | 52 |
1 files changed, 45 insertions, 7 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/opt-out-not-implptr.exp b/gdb/testsuite/gdb.dwarf2/opt-out-not-implptr.exp index 949bc23492a..9b240c9a2af 100644 --- a/gdb/testsuite/gdb.dwarf2/opt-out-not-implptr.exp +++ b/gdb/testsuite/gdb.dwarf2/opt-out-not-implptr.exp @@ -21,10 +21,13 @@ standard_testfile main.c -dw.S set asm_file [standard_output_file $srcfile2] +set c64 6639779683436459270 +set c32 1779823878 + Dwarf::assemble $asm_file { cu {} { compile_unit {} { - declare_labels i64_type array + declare_labels i64_type i32_type i64_array i32_array i64_type: base_type { {name "int64_t"} @@ -32,7 +35,13 @@ Dwarf::assemble $asm_file { {byte_size 8 DW_FORM_sdata} } - array: DW_TAG_array_type { + i32_type: base_type { + {name "int32_t"} + {encoding @DW_ATE_signed} + {byte_size 4 DW_FORM_sdata} + } + + i64_array: DW_TAG_array_type { {DW_AT_name array_type} {DW_AT_type :$i64_type} } { @@ -43,15 +52,36 @@ Dwarf::assemble $asm_file { } } + i32_array: DW_TAG_array_type { + {DW_AT_name array_type} + {DW_AT_type :$i32_type} + } { + DW_TAG_subrange_type { + {DW_AT_type :$i32_type} + {DW_AT_lower_bound 0 DW_FORM_data1} + {DW_AT_upper_bound 3 DW_FORM_data1} + } + } + DW_TAG_variable { - {name noptr} - {type :$array} + {name i64_noptr} + {type :$i64_array} {location { - DW_OP_constu 6639779683436459270 + DW_OP_constu $::c64 DW_OP_stack_value DW_OP_piece 8 } SPECIAL_expr} } + + DW_TAG_variable { + {name i32_noptr} + {type :$i32_array} + {location { + DW_OP_constu $::c32 + DW_OP_stack_value + DW_OP_piece 4 + } SPECIAL_expr} + } } } } @@ -72,5 +102,13 @@ if {![runto_main]} { return -1 } -gdb_test "print noptr" \ - " = \\{6639779683436459270, <optimized out>, <optimized out>, <optimized out>\\}" +set cmd "print i64_noptr" +if { [is_64_target] } { + gdb_test $cmd \ + " = \\{$c64, <optimized out>, <optimized out>, <optimized out>\\}" +} else { + unsupported $cmd +} + +gdb_test "print i32_noptr" \ + " = \\{$c32, <optimized out>, <optimized out>, <optimized out>\\}" |