[RFA,2/2] Remove BITS_IN_BYTES define

Message ID 20170713123400.28917-3-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey July 13, 2017, 12:34 p.m. UTC
  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

Pedro Alves July 14, 2017, 3:16 p.m. UTC | #1
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
  
Tom Tromey July 14, 2017, 4:12 p.m. UTC | #2
>>>>> "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
  

Patch

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5ac5bab..bc68b67 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index cd615ec..179c22c 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -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:
diff --git a/gdb/valprint.c b/gdb/valprint.c
index 9e216cf..eef99b1 100644
--- a/gdb/valprint.c
+++ b/gdb/valprint.c
@@ -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);