[RFA,2/2] Remove BITS_IN_BYTES define
Commit Message
While working on the previous patch, I noticed that BITS_IN_BYTES can be
replaced by HOST_CHAR_BIT, which is used more widely in gdb.
2017-07-13 Tom Tromey <tom@tromey.com>
* valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
(print_binary_chars): Likewise.
(BITS_IN_BYTES): Remove.
---
gdb/ChangeLog | 6 ++++++
gdb/printcmd.c | 4 ++--
gdb/valprint.c | 9 +++------
3 files changed, 11 insertions(+), 8 deletions(-)
Comments
On 07/13/2017 01:34 PM, Tom Tromey wrote:
> @@ -432,8 +432,8 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type,
> case 'd':
> case 'u':
> {
> - bool is_signed = options->format != 'u' || !TYPE_UNSIGNED (type);
> - print_decimal_chars (stream, valaddr, len, is_signed, byte_order);
> + bool is_unsigned = options->format == 'u' || TYPE_UNSIGNED (type);
> + print_decimal_chars (stream, valaddr, len, !is_unsigned, byte_order);
> }
> break;
> case 0:
Ah, looks like you meant to squash this hunk in the previous patch...
The actual BITS_IN_BYTES bits are fine.
Thanks,
Pedro Alves
>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
Pedro> On 07/13/2017 01:34 PM, Tom Tromey wrote:
>> @@ -432,8 +432,8 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type,
>> case 'd':
>> case 'u':
>> {
>> - bool is_signed = options->format != 'u' || !TYPE_UNSIGNED (type);
>> - print_decimal_chars (stream, valaddr, len, is_signed, byte_order);
>> + bool is_unsigned = options->format == 'u' || TYPE_UNSIGNED (type);
>> + print_decimal_chars (stream, valaddr, len, !is_unsigned, byte_order);
>> }
>> break;
>> case 0:
Pedro> Ah, looks like you meant to squash this hunk in the previous patch...
Oops, sorry about this. I'll fix it up.
Tom
@@ -1,5 +1,11 @@
2017-07-13 Tom Tromey <tom@tromey.com>
+ * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
+ (print_binary_chars): Likewise.
+ (BITS_IN_BYTES): Remove.
+
+2017-07-13 Tom Tromey <tom@tromey.com>
+
PR gdb/21675
* valprint.c (LOW_ZERO): Change value to 034.
(print_octal_chars): Add static_asserts for octal constants.
@@ -432,8 +432,8 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type,
case 'd':
case 'u':
{
- bool is_signed = options->format != 'u' || !TYPE_UNSIGNED (type);
- print_decimal_chars (stream, valaddr, len, is_signed, byte_order);
+ bool is_unsigned = options->format == 'u' || TYPE_UNSIGNED (type);
+ print_decimal_chars (stream, valaddr, len, !is_unsigned, byte_order);
}
break;
case 0:
@@ -1490,9 +1490,6 @@ void
print_binary_chars (struct ui_file *stream, const gdb_byte *valaddr,
unsigned len, enum bfd_endian byte_order, bool zero_pad)
{
-
-#define BITS_IN_BYTES 8
-
const gdb_byte *p;
unsigned int i;
int b;
@@ -1512,7 +1509,7 @@ print_binary_chars (struct ui_file *stream, const gdb_byte *valaddr,
/* Every byte has 8 binary characters; peel off
and print from the MSB end. */
- for (i = 0; i < (BITS_IN_BYTES * sizeof (*p)); i++)
+ for (i = 0; i < (HOST_CHAR_BIT * sizeof (*p)); i++)
{
if (*p & (mask >> i))
b = '1';
@@ -1532,7 +1529,7 @@ print_binary_chars (struct ui_file *stream, const gdb_byte *valaddr,
p >= valaddr;
p--)
{
- for (i = 0; i < (BITS_IN_BYTES * sizeof (*p)); i++)
+ for (i = 0; i < (HOST_CHAR_BIT * sizeof (*p)); i++)
{
if (*p & (mask >> i))
b = '1';
@@ -1612,7 +1609,7 @@ print_octal_chars (struct ui_file *stream, const gdb_byte *valaddr,
/* For 32 we start in cycle 2, with two bits and one bit carry;
for 64 in cycle in cycle 1, with one bit and a two bit carry. */
- cycle = (len * BITS_IN_BYTES) % BITS_IN_OCTAL;
+ cycle = (len * HOST_CHAR_BIT) % BITS_IN_OCTAL;
carry = 0;
fputs_filtered ("0", stream);