Use bool in Rust code
authorTom Tromey <tom@tromey.com>
Fri, 3 Feb 2017 04:21:19 +0000 (21:21 -0700)
committerTom Tromey <tom@tromey.com>
Fri, 3 Feb 2017 04:25:12 +0000 (21:25 -0700)
This changes various functions in the Rust code to use a bool rather
than an int when a boolean is intended.

2017-02-02  Tom Tromey  <tom@tromey.com>

* rust-exp.y (ends_raw_string, space_then_number)
(rust_identifier_start_p): Return bool.
* rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
(rust_tuple_struct_type_p, rust_tuple_variant_type_p)
(rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
(rust_chartype_p): Return bool.
(val_print_struct, rust_print_struct_def, rust_print_type):
Update.
* rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
Return bool.

gdb/ChangeLog
gdb/rust-exp.y
gdb/rust-lang.c
gdb/rust-lang.h

index d133a2efa5fc6bef05de6d01beee601fce76dd1d..2f5ba2fd3b2dbb78648f5c8b9aaa68a840ece08a 100644 (file)
@@ -1,3 +1,16 @@
+2017-02-02  Tom Tromey  <tom@tromey.com>
+
+       * rust-exp.y (ends_raw_string, space_then_number)
+       (rust_identifier_start_p): Return bool.
+       * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
+       (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
+       (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
+       (rust_chartype_p): Return bool.
+       (val_print_struct, rust_print_struct_def, rust_print_type):
+       Update.
+       * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
+       Return bool.
+
 2017-02-02  Tom Tromey  <tom@tromey.com>
 
        * rust-lang.c: Reindent.
index 98301a48922eeda75cf8bb55f00158c187cc3985..b3e03664e268c985ae1f1f8ee27835aba12be5d0 100644 (file)
@@ -1197,7 +1197,7 @@ starts_raw_string (const char *str)
 /* Return true if STR looks like the end of a raw string that had N
    hashes at the start.  */
 
-static int
+static bool
 ends_raw_string (const char *str, int n)
 {
   int i;
@@ -1205,8 +1205,8 @@ ends_raw_string (const char *str, int n)
   gdb_assert (str[0] == '"');
   for (i = 0; i < n; ++i)
     if (str[i + 1] != '#')
-      return 0;
-  return 1;
+      return false;
+  return true;
 }
 
 /* Lex a string constant.  */
@@ -1283,7 +1283,7 @@ lex_string (void)
 
 /* Return true if STRING starts with whitespace followed by a digit.  */
 
-static int
+static bool
 space_then_number (const char *string)
 {
   const char *p = string;
@@ -1291,14 +1291,14 @@ space_then_number (const char *string)
   while (p[0] == ' ' || p[0] == '\t')
     ++p;
   if (p == string)
-    return 0;
+    return false;
 
   return *p >= '0' && *p <= '9';
 }
 
 /* Return true if C can start an identifier.  */
 
-static int
+static bool
 rust_identifier_start_p (char c)
 {
   return ((c >= 'a' && c <= 'z')
index a483b96125d796608d4e29f4a080c9fdb3d55b08..a8048242860c7c1d6d588f7927dd2f23cb2b0cfb 100644 (file)
@@ -272,7 +272,7 @@ rust_get_disr_info (struct type *type, const gdb_byte *valaddr,
 
 /* See rust-lang.h.  */
 
-int
+bool
 rust_tuple_type_p (struct type *type)
 {
   /* The current implementation is a bit of a hack, but there's
@@ -287,7 +287,7 @@ rust_tuple_type_p (struct type *type)
 /* Return true if all non-static fields of a structlike type are in a
    sequence like __0, __1, __2.  OFFSET lets us skip fields.  */
 
-static int
+static bool
 rust_underscore_fields (struct type *type, int offset)
 {
   int i, field_number;
@@ -295,7 +295,7 @@ rust_underscore_fields (struct type *type, int offset)
   field_number = 0;
 
   if (TYPE_CODE (type) != TYPE_CODE_STRUCT)
-    return 0;
+    return false;
   for (i = 0; i < TYPE_NFIELDS (type); ++i)
     {
       if (!field_is_static (&TYPE_FIELD (type, i)))
@@ -308,17 +308,17 @@ rust_underscore_fields (struct type *type, int offset)
 
              xsnprintf (buf, sizeof (buf), "__%d", field_number);
              if (strcmp (buf, TYPE_FIELD_NAME (type, i)) != 0)
-               return 0;
+               return false;
              field_number++;
            }
        }
     }
-  return 1;
+  return true;
 }
 
 /* See rust-lang.h.  */
 
-int
+bool
 rust_tuple_struct_type_p (struct type *type)
 {
   /* This is just an approximation until DWARF can represent Rust more
@@ -329,7 +329,7 @@ rust_tuple_struct_type_p (struct type *type)
 
 /* Return true if a variant TYPE is a tuple variant, false otherwise.  */
 
-static int
+static bool
 rust_tuple_variant_type_p (struct type *type)
 {
   /* First field is discriminant */
@@ -338,7 +338,7 @@ rust_tuple_variant_type_p (struct type *type)
 
 /* Return true if TYPE is a slice type, otherwise false.  */
 
-static int
+static bool
 rust_slice_type_p (struct type *type)
 {
   return (TYPE_CODE (type) == TYPE_CODE_STRUCT
@@ -348,7 +348,7 @@ rust_slice_type_p (struct type *type)
 
 /* Return true if TYPE is a range type, otherwise false.  */
 
-static int
+static bool
 rust_range_type_p (struct type *type)
 {
   int i;
@@ -357,22 +357,22 @@ rust_range_type_p (struct type *type)
       || TYPE_NFIELDS (type) > 2
       || TYPE_TAG_NAME (type) == NULL
       || strstr (TYPE_TAG_NAME (type), "::Range") == NULL)
-    return 0;
+    return false;
 
   if (TYPE_NFIELDS (type) == 0)
-    return 1;
+    return true;
 
   i = 0;
   if (strcmp (TYPE_FIELD_NAME (type, 0), "start") == 0)
     {
       if (TYPE_NFIELDS (type) == 1)
-       return 1;
+       return true;
       i = 1;
     }
   else if (TYPE_NFIELDS (type) == 2)
     {
       /* First field had to be "start".  */
-      return 0;
+      return false;
     }
 
   return strcmp (TYPE_FIELD_NAME (type, i), "end") == 0;
@@ -380,7 +380,7 @@ rust_range_type_p (struct type *type)
 
 /* Return true if TYPE seems to be the type "u8", otherwise false.  */
 
-static int
+static bool
 rust_u8_type_p (struct type *type)
 {
   return (TYPE_CODE (type) == TYPE_CODE_INT
@@ -390,7 +390,7 @@ rust_u8_type_p (struct type *type)
 
 /* Return true if TYPE is a Rust character type.  */
 
-static int
+static bool
 rust_chartype_p (struct type *type)
 {
   return (TYPE_CODE (type) == TYPE_CODE_CHAR
@@ -479,8 +479,8 @@ val_print_struct (struct type *type, int embedded_offset,
 {
   int i;
   int first_field;
-  int is_tuple = rust_tuple_type_p (type);
-  int is_tuple_struct = !is_tuple && rust_tuple_struct_type_p (type);
+  bool is_tuple = rust_tuple_type_p (type);
+  bool is_tuple_struct = !is_tuple && rust_tuple_struct_type_p (type);
   struct value_print_options opts;
 
   if (!is_tuple)
@@ -763,7 +763,8 @@ rust_print_struct_def (struct type *type, const char *varstring,
                       struct ui_file *stream, int show, int level,
                       const struct type_print_options *flags)
 {
-  int is_tuple_struct, i;
+  bool is_tuple_struct;
+  int i;
 
   /* Print a tuple type simply.  */
   if (rust_tuple_type_p (type))
@@ -988,7 +989,7 @@ rust_print_type (struct type *type, const char *varstring,
            if (TYPE_NFIELDS (variant_type) > skip_to)
              {
                int first = 1;
-               int is_tuple = rust_tuple_variant_type_p (variant_type);
+               bool is_tuple = rust_tuple_variant_type_p (variant_type);
                int j;
 
                fputs_filtered (is_tuple ? "(" : "{", stream);
index 6c627ae71c859720f8289e495765d55202a03993..8f2b6826c152eabfcb6950bc38220b687f9d10f7 100644 (file)
@@ -30,10 +30,10 @@ extern int rust_parse (struct parser_state *);
 extern void rustyyerror (char *);
 
 /* Return true if TYPE is a tuple type; otherwise false.  */
-extern int rust_tuple_type_p (struct type *type);
+extern bool rust_tuple_type_p (struct type *type);
 
 /* Return true if TYPE is a tuple struct type; otherwise false.  */
-extern int rust_tuple_struct_type_p (struct type *type);
+extern bool rust_tuple_struct_type_p (struct type *type);
 
 /* Given a block, find the name of the block's crate. Returns an empty
    stringif no crate name can be found.  */