Use bool in Rust code

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.
This commit is contained in:
Tom Tromey 2017-02-02 21:21:19 -07:00
parent b50f188dfa
commit 65c40c956f
4 changed files with 41 additions and 27 deletions

View 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.

View 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')

View 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);

View 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. */