gdb: remove TYPE_NOSIGN
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 14 Sep 2020 15:07:58 +0000 (11:07 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 14 Sep 2020 15:07:58 +0000 (11:07 -0400)
gdb/ChangeLog:

* gdbtypes.h (TYPE_NOSIGN): Remove, replace all uses with
type::has_no_signedness.

Change-Id: Iaf8d1cedad195d03a4358e90f6ada77290d03bf2

gdb/ChangeLog
gdb/compile/compile-c-types.c
gdb/compile/compile-cplus-types.c
gdb/dwarf2/read.c
gdb/gdbtypes.c
gdb/gdbtypes.h

index a761ebeb5d938edee391f6dc1564b45072bbde56..6d46d5e5425356bcdf583ae2cee8a1c9ad756b7b 100644 (file)
@@ -1,3 +1,8 @@
+2020-09-14  Simon Marchi  <simon.marchi@efficios.com>
+
+       * gdbtypes.h (TYPE_NOSIGN): Remove, replace all uses with
+       type::has_no_signedness.
+
 2020-09-14  Simon Marchi  <simon.marchi@efficios.com>
 
        * gdbtypes.h (struct type) <has_no_signedness,
index a34550a78585ee8e8ae24136695d8a39ace8d362..3527442e4eda2120e57988aa4e8318601ab8d8da 100644 (file)
@@ -194,7 +194,7 @@ convert_int (compile_c_instance *context, struct type *type)
 {
   if (context->plugin ().version () >= GCC_C_FE_VERSION_1)
     {
-      if (TYPE_NOSIGN (type))
+      if (type->has_no_signedness ())
        {
          gdb_assert (TYPE_LENGTH (type) == 1);
          return context->plugin ().char_type ();
index 647cfc5d64a744240b001c6ccd7cd1dc2e425f3c..8431cbc6c113b850fb0370abe21d491397900cc2 100644 (file)
@@ -1015,7 +1015,7 @@ compile_cplus_convert_func (compile_cplus_instance *instance,
 static gcc_type
 compile_cplus_convert_int (compile_cplus_instance *instance, struct type *type)
 {
-  if (TYPE_NOSIGN (type))
+  if (type->has_no_signedness ())
     {
       gdb_assert (TYPE_LENGTH (type) == 1);
       return instance->plugin ().get_char_type ();
index 299b04b4ae2c1d2dc14c51ba197f2228ea7bb975..267cf0f18a886850684a062d5f5016c7b25d7694 100644 (file)
@@ -10502,7 +10502,7 @@ dwarf2_compute_name (const char *name,
                                           &cu->comp_unit_obstack, cu,
                                           &value, &bytes, &baton);
 
-                 if (TYPE_NOSIGN (type))
+                 if (type->has_no_signedness ())
                    /* GDB prints characters as NUMBER 'CHAR'.  If that's
                       changed, this can use value_print instead.  */
                    c_printchar (value, type, &buf);
index 88d9f7e4d9ee3f14c5303164abb757add3830a75..997bb09c184c5966d61212a0583f6c1b40d1a301 100644 (file)
@@ -3990,7 +3990,7 @@ check_types_equal (struct type *type1, struct type *type2,
   if (type1->code () != type2->code ()
       || TYPE_LENGTH (type1) != TYPE_LENGTH (type2)
       || type1->is_unsigned () != type2->is_unsigned ()
-      || TYPE_NOSIGN (type1) != TYPE_NOSIGN (type2)
+      || type1->has_no_signedness () != type2->has_no_signedness ()
       || TYPE_ENDIANITY_NOT_DEFAULT (type1) != TYPE_ENDIANITY_NOT_DEFAULT (type2)
       || TYPE_VARARGS (type1) != TYPE_VARARGS (type2)
       || TYPE_VECTOR (type1) != TYPE_VECTOR (type2)
@@ -4264,10 +4264,10 @@ rank_one_type_parm_int (struct type *parm, struct type *arg, struct value *value
        {
          /* Deal with signed, unsigned, and plain chars and
             signed and unsigned ints.  */
-         if (TYPE_NOSIGN (parm))
+         if (parm->has_no_signedness ())
            {
              /* This case only for character types.  */
-             if (TYPE_NOSIGN (arg))
+             if (arg->has_no_signedness ())
                return EXACT_MATCH_BADNESS;     /* plain char -> plain char */
              else              /* signed/unsigned char -> plain char */
                return INTEGER_CONVERSION_BADNESS;
@@ -4304,7 +4304,7 @@ rank_one_type_parm_int (struct type *parm, struct type *arg, struct value *value
                    return INTEGER_CONVERSION_BADNESS;
                }
            }
-         else if (!TYPE_NOSIGN (arg) && !arg->is_unsigned ())
+         else if (!arg->has_no_signedness () && !arg->is_unsigned ())
            {
              if (integer_types_same_name_p (parm->name (),
                                             arg->name ()))
@@ -4387,9 +4387,9 @@ rank_one_type_parm_char (struct type *parm, struct type *arg, struct value *valu
     case TYPE_CODE_CHAR:
       /* Deal with signed, unsigned, and plain chars for C++ and
         with int cases falling through from previous case.  */
-      if (TYPE_NOSIGN (parm))
+      if (parm->has_no_signedness ())
        {
-         if (TYPE_NOSIGN (arg))
+         if (arg->has_no_signedness ())
            return EXACT_MATCH_BADNESS;
          else
            return INTEGER_CONVERSION_BADNESS;
@@ -4401,7 +4401,7 @@ rank_one_type_parm_char (struct type *parm, struct type *arg, struct value *valu
          else
            return INTEGER_PROMOTION_BADNESS;
        }
-      else if (!TYPE_NOSIGN (arg) && !arg->is_unsigned ())
+      else if (!arg->has_no_signedness () && !arg->is_unsigned ())
        return EXACT_MATCH_BADNESS;
       else
        return INTEGER_CONVERSION_BADNESS;
@@ -5068,7 +5068,7 @@ recursive_dump_type (struct type *type, int spaces)
     {
       puts_filtered (" TYPE_UNSIGNED");
     }
-  if (TYPE_NOSIGN (type))
+  if (type->has_no_signedness ())
     {
       puts_filtered (" TYPE_NOSIGN");
     }
index 623b8ccf37ae551a5b85124b3f5400fb2d75bcd0..0be0f5c5645b405a0c7482363f5a3de5ad7ef71e 100644 (file)
@@ -210,12 +210,6 @@ enum type_instance_flag_value : unsigned
 
 DEF_ENUM_FLAGS_TYPE (enum type_instance_flag_value, type_instance_flags);
 
-/* * No sign for this type.  In C++, "char", "signed char", and
-   "unsigned char" are distinct types; so we need an extra flag to
-   indicate the absence of a sign!  */
-
-#define TYPE_NOSIGN(t)         ((t)->has_no_signedness ())
-
 /* * A compiler may supply dwarf instrumentation
    that indicates the desired endian interpretation of the variable
    differs from the native endian representation. */
@@ -1076,6 +1070,10 @@ struct type
     this->main_type->m_flag_unsigned = is_unsigned;
   }
 
+  /* No sign for this type.  In C++, "char", "signed char", and
+     "unsigned char" are distinct types; so we need an extra flag to
+     indicate the absence of a sign!  */
+
   bool has_no_signedness () const
   {
     return this->main_type->m_flag_nosign;