diff options
author | John Baldwin <jhb@FreeBSD.org> | 2022-01-28 11:22:02 -0800 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2022-01-28 11:22:02 -0800 |
commit | e5783467a342ffdc89cc7fb678eae033c2f7cce1 (patch) | |
tree | 896c2dc7abd1f3cecb2a956eb75c069fd4f5e182 | |
parent | 00d7af046f12f18759b5b2c909d0b4527ac1857e (diff) | |
download | gdb-e5783467a342ffdc89cc7fb678eae033c2f7cce1.zip gdb-e5783467a342ffdc89cc7fb678eae033c2f7cce1.tar.gz gdb-e5783467a342ffdc89cc7fb678eae033c2f7cce1.tar.bz2 |
gdb: fix ppc-sysv-tdep.c build on 32-bit platforms
The previous code triggered the following error on an i386 host:
/git/gdb/gdb/ppc-sysv-tdep.c:1764:34: error: non-constant-expression cannot be narrowed from type 'ULONGEST' (aka 'unsigned long long') to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
unscaled.read ({writebuf, TYPE_LENGTH (valtype)},
^~~~~~~~~~~~~~~~~~~~~
/git/gdb/gdb/gdbtypes.h:2043:31: note: expanded from macro 'TYPE_LENGTH'
^~~~~~~~~~~~~~~~~~
/git/gdb/gdb/ppc-sysv-tdep.c:1764:34: note: insert an explicit cast to silence this issue
unscaled.read ({writebuf, TYPE_LENGTH (valtype)},
^~~~~~~~~~~~~~~~~~~~~
static_cast<size_t>( )
/git/gdb/gdb/gdbtypes.h:2043:31: note: expanded from macro 'TYPE_LENGTH'
^~~~~~~~~~~~~~~~~~
1 error generated.
Fix this by using gdb::make_array_view.
-rw-r--r-- | gdb/ppc-sysv-tdep.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c index 5255cea..9a3b02f 100644 --- a/gdb/ppc-sysv-tdep.c +++ b/gdb/ppc-sysv-tdep.c @@ -1761,7 +1761,8 @@ ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype, /* Fixed point type values need to be returned unscaled. */ gdb_mpz unscaled; - unscaled.read ({writebuf, TYPE_LENGTH (valtype)}, + unscaled.read (gdb::make_array_view (writebuf, + TYPE_LENGTH (valtype)), type_byte_order (valtype), valtype->is_unsigned ()); return_val = unscaled.as_integer<LONGEST> (); |