Add some 128-bit integer tests
This adds some tests for printing 128-bit integers. 2017-06-12 Tom Tromey <tom@tromey.com> * gdb.dwarf2/formdata16.exp: Add tests.
This commit is contained in:
parent
f12f6bad7d
commit
973e9aab63
|
@ -1,3 +1,7 @@
|
||||||
|
2017-06-12 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* gdb.dwarf2/formdata16.exp: Add tests.
|
||||||
|
|
||||||
2017-06-12 Tom Tromey <tom@tromey.com>
|
2017-06-12 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* gdb.arch/altivec-regs.exp: Expect decimal results for uint128.
|
* gdb.arch/altivec-regs.exp: Expect decimal results for uint128.
|
||||||
|
|
|
@ -41,18 +41,22 @@ set high "0x123456789abcdef0"
|
||||||
set low "0x0fedcba987654321"
|
set low "0x0fedcba987654321"
|
||||||
if { $endianness == "big" } {
|
if { $endianness == "big" } {
|
||||||
set pair $high,$low
|
set pair $high,$low
|
||||||
|
set pair2 0x0,$low
|
||||||
|
set negative 0xffffffffffffffff,$low
|
||||||
} else {
|
} else {
|
||||||
set pair $low,$high
|
set pair $low,$high
|
||||||
|
set pair2 $low,0x0
|
||||||
|
set negative $low,0xffffffffffffffff
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make some DWARF for the test.
|
# Make some DWARF for the test.
|
||||||
set asm_file [standard_output_file $srcfile2]
|
set asm_file [standard_output_file $srcfile2]
|
||||||
Dwarf::assemble $asm_file {
|
Dwarf::assemble $asm_file {
|
||||||
global pair
|
global pair pair2 negative
|
||||||
|
|
||||||
cu { addr_size 4 } {
|
cu { addr_size 4 } {
|
||||||
compile_unit {} {
|
compile_unit {} {
|
||||||
declare_labels int_label
|
declare_labels int_label sint_label
|
||||||
|
|
||||||
int_label: DW_TAG_base_type {
|
int_label: DW_TAG_base_type {
|
||||||
{DW_AT_byte_size 16 DW_FORM_udata}
|
{DW_AT_byte_size 16 DW_FORM_udata}
|
||||||
|
@ -60,11 +64,29 @@ Dwarf::assemble $asm_file {
|
||||||
{DW_AT_name "__uint128"}
|
{DW_AT_name "__uint128"}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sint_label: DW_TAG_base_type {
|
||||||
|
{DW_AT_byte_size 16 DW_FORM_udata}
|
||||||
|
{DW_AT_encoding @DW_ATE_signed}
|
||||||
|
{DW_AT_name "__int128"}
|
||||||
|
}
|
||||||
|
|
||||||
DW_TAG_variable {
|
DW_TAG_variable {
|
||||||
{name xxx}
|
{name xxx}
|
||||||
{type :$int_label}
|
{type :$int_label}
|
||||||
{const_value $pair DW_FORM_data16}
|
{const_value $pair DW_FORM_data16}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DW_TAG_variable {
|
||||||
|
{name yyy}
|
||||||
|
{type :$int_label}
|
||||||
|
{const_value $pair2 DW_FORM_data16}
|
||||||
|
}
|
||||||
|
|
||||||
|
DW_TAG_variable {
|
||||||
|
{name sss}
|
||||||
|
{type :$sint_label}
|
||||||
|
{const_value $negative DW_FORM_data16}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,3 +97,8 @@ if { [prepare_for_testing "failed to prepare" ${testfile} \
|
||||||
}
|
}
|
||||||
|
|
||||||
gdb_test "p/x xxx" " = 0x123456789abcdef00fedcba987654321"
|
gdb_test "p/x xxx" " = 0x123456789abcdef00fedcba987654321"
|
||||||
|
gdb_test "p xxx" "= 24197857203266734864629346612071973665"
|
||||||
|
gdb_test "p/x yyy" " = 0xfedcba987654321"
|
||||||
|
gdb_test "p yyy" "= 1147797409030816545"
|
||||||
|
gdb_test "p/x sss" " = 0xffffffffffffffff0fedcba987654321"
|
||||||
|
gdb_test "p sss" "= -17298946664678735071"
|
||||||
|
|
Loading…
Reference in New Issue