binutils-gdb/gdb/unittests
Tom Tromey 15ce8941e7 Sign-extend non-bit-fields in unpack_bits_as_long
unpack_bits_as_long is documented as sign-extending its result when
the type is signed.  However, it was only doing sign-extension in the
case where the field was a bitfield -- that is, not when the "bitsize"
parameter was 0, indicating the size should be taken from the type.

Also, unpack_bits_as_long was incorrectly computing the shift for
big-endian architectures for the non-bitfield case.

This patch fixes these bugs in a straightforward way.  A new selftest
is included.

2018-02-26  Tom Tromey  <tom@tromey.com>

	* Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
	unittests/unpack-selftests.c.
	* unittests/unpack-selftests.c: New file.
	* value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
2018-02-26 09:21:08 -07:00
..
optional
array-view-selftests.c
common-utils-selftests.c
environ-selftests.c
function-view-selftests.c
lookup_name_info-selftests.c
memory-map-selftests.c
memrange-selftests.c
offset-type-selftests.c
optional-selftests.c
ptid-selftests.c
rsp-low-selftests.c
scoped_fd-selftests.c
scoped_mmap-selftests.c
scoped_restore-selftests.c
unpack-selftests.c
xml-utils-selftests.c