Add bit-field test for scalar_storage_order

This adds a bit-field test for scalar_storage_order.

gdb/testsuite/ChangeLog
2019-12-04  Tom Tromey  <tromey@adacore.com>

	* gdb.base/endianity.c (struct other) <x>: New field.
	(main): Initialize it.
	* gdb.base/endianity.exp: Update.

Change-Id: I9e07d1b3e08e7c3384832b68ef286afe1d11479a
This commit is contained in:
Tom Tromey
2019-11-25 13:37:15 -07:00
parent a05cf17ab9
commit 4139ff0088
3 changed files with 11 additions and 3 deletions

View File

@@ -1,3 +1,9 @@
2019-12-04 Tom Tromey <tromey@adacore.com>
* gdb.base/endianity.c (struct other) <x>: New field.
(main): Initialize it.
* gdb.base/endianity.exp: Update.
2019-12-04 Tom Tromey <tromey@adacore.com>
* gdb.ada/scalar_storage/storage.adb: New file.

View File

@@ -21,6 +21,7 @@ struct otherendian
{
int v;
short w;
unsigned x : 3;
float f;
__complex__ float cplx;
double d;
@@ -42,7 +43,7 @@ do_nothing (struct otherendian *c)
int
main (void)
{
struct otherendian o = {3, 2, 23.5, 1.25 + 7.25i, 75};
struct otherendian o = {3, 2, 7, 23.5, 1.25 + 7.25i, 75};
do_nothing (&o); /* START */
}

View File

@@ -25,11 +25,12 @@ if ![runto "endianity.c:$bp_location" ] then {
return -1
}
gdb_test "print o" "= {v = 3, w = 2, f = 23.5, cplx = 1.25 \\+ 7.25 \\* I, d = 75}" \
gdb_test "print o" "= {v = 3, w = 2, x = 7, f = 23.5, cplx = 1.25 \\+ 7.25 \\* I, d = 75}" \
"print o before assignment"
gdb_test "print o.v = 4" "= 4"
gdb_test "print o.w = 3" "= 3"
gdb_test "print o.x = 2" "= 2"
gdb_test "print o.f = 1.5" "= 1.5"
gdb_test "print o.d = -23.125" "= -23.125"
@@ -40,5 +41,5 @@ if { ([test_compiler_info {gcc-[0-5]-*}] || ![test_compiler_info gcc*]) } {
gdb_test "x/x &o.v" "0x04000000"
gdb_test "x/xh &o.w" "0x0300"
gdb_test "print o" "= {v = 4, w = 3, f = 1.5, cplx = 1.25 \\+ 7.25 \\* I, d = -23.125}" \
gdb_test "print o" "= {v = 4, w = 3, x = 2, f = 1.5, cplx = 1.25 \\+ 7.25 \\* I, d = -23.125}" \
"print o after assignment"