diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cfdf1c9ab95..c51a6ff2d39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2002-07-17 Neil Booth + + * cppexp.c (cpp_interpret_integer, append_digit, parse_defined, + eval_token): Clarify and correct use of "bool" variables. + * cpplib.h (struct cpp_options): Similarly. + * cppmacro.c (parse_params, _cpp_save_parameter): Ditto. + * cpptrad.c (recursive_macro): Similarly. + Wed Jul 17 17:08:06 2002 J"orn Rennecke * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in diff --git a/gcc/cppexp.c b/gcc/cppexp.c index 44ee26b09cd..c45acb868a5 100644 --- a/gcc/cppexp.c +++ b/gcc/cppexp.c @@ -318,8 +318,8 @@ cpp_interpret_integer (pfile, token, type) result.low = 0; result.high = 0; - result.unsignedp = type & CPP_N_UNSIGNED; - result.overflow = 0; + result.unsignedp = !!(type & CPP_N_UNSIGNED); + result.overflow = false; p = token->val.str.text; end = p + token->val.str.len; @@ -387,7 +387,7 @@ cpp_interpret_integer (pfile, token, type) if (base == 10) cpp_error (pfile, DL_WARNING, "integer constant is so large that it is unsigned"); - result.unsignedp = 1; + result.unsignedp = true; } } @@ -409,7 +409,7 @@ append_digit (num, digit, base, precision) /* Multiply by 8 or 16. Catching this overflow here means we don't need to worry about add_high overflowing. */ - overflow = num.high >> (PART_PRECISION - shift); + overflow = !!(num.high >> (PART_PRECISION - shift)); result.high = num.high << shift; result.low = num.low << shift; result.high |= num.low >> (PART_PRECISION - shift); @@ -507,9 +507,9 @@ parse_defined (pfile) pfile->state.prevent_expansion--; - result.unsignedp = 0; + result.unsignedp = false; result.high = 0; - result.overflow = 0; + result.overflow = false; result.low = node && node->type == NT_MACRO; return result; } @@ -604,8 +604,8 @@ eval_token (pfile, token) result.low = temp; } - result.unsignedp = unsignedp; - result.overflow = 0; + result.unsignedp = !!unsignedp; + result.overflow = false; return result; } diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 05d29ce5472..7c1fe854658 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -402,8 +402,8 @@ struct cpp_options ints and target wide characters, respectively. */ size_t precision, char_precision, int_precision, wchar_precision; - /* Nonzero means chars (wide chars) are unsigned. */ - unsigned char unsigned_char, unsigned_wchar; + /* True means chars (wide chars) are unsigned. */ + bool unsigned_char, unsigned_wchar; /* Nonzero means __STDC__ should have the value 0 in system headers. */ unsigned char stdc_0_in_system_headers; diff --git a/gcc/cppmacro.c b/gcc/cppmacro.c index 6b1fcec5c76..4d807a226ad 100644 --- a/gcc/cppmacro.c +++ b/gcc/cppmacro.c @@ -69,7 +69,7 @@ static cpp_token *alloc_expansion_token PARAMS ((cpp_reader *, cpp_macro *)); static cpp_token *lex_expansion_token PARAMS ((cpp_reader *, cpp_macro *)); static bool warn_of_redefinition PARAMS ((cpp_reader *, const cpp_hashnode *, const cpp_macro *)); -static int parse_params PARAMS ((cpp_reader *, cpp_macro *)); +static bool parse_params PARAMS ((cpp_reader *, cpp_macro *)); static void check_trad_stringification PARAMS ((cpp_reader *, const cpp_macro *, const cpp_string *)); @@ -1245,7 +1245,7 @@ _cpp_save_parameter (pfile, macro, node) { cpp_error (pfile, DL_ERROR, "duplicate macro parameter \"%s\"", NODE_NAME (node)); - return 1; + return true; } if (BUFF_ROOM (pfile->a_buff) @@ -1254,11 +1254,12 @@ _cpp_save_parameter (pfile, macro, node) ((cpp_hashnode **) BUFF_FRONT (pfile->a_buff))[macro->paramc++] = node; node->arg_index = macro->paramc; - return 0; + return false; } -/* Check the syntax of the parameters in a MACRO definition. */ -static int +/* Check the syntax of the parameters in a MACRO definition. Returns + false if an error occurs. */ +static bool parse_params (pfile, macro) cpp_reader *pfile; cpp_macro *macro; @@ -1281,31 +1282,31 @@ parse_params (pfile, macro) cpp_error (pfile, DL_ERROR, "\"%s\" may not appear in macro parameter list", cpp_token_as_text (pfile, token)); - return 0; + return false; case CPP_NAME: if (prev_ident) { cpp_error (pfile, DL_ERROR, "macro parameters must be comma-separated"); - return 0; + return false; } prev_ident = 1; if (_cpp_save_parameter (pfile, macro, token->val.node)) - return 0; + return false; continue; case CPP_CLOSE_PAREN: if (prev_ident || macro->paramc == 0) - return 1; + return true; /* Fall through to pick up the error. */ case CPP_COMMA: if (!prev_ident) { cpp_error (pfile, DL_ERROR, "parameter name missing"); - return 0; + return false; } prev_ident = 0; continue; @@ -1328,12 +1329,12 @@ parse_params (pfile, macro) /* We're at the end, and just expect a closing parenthesis. */ token = _cpp_lex_token (pfile); if (token->type == CPP_CLOSE_PAREN) - return 1; + return true; /* Fall through. */ case CPP_EOF: cpp_error (pfile, DL_ERROR, "missing ')' in macro parameter list"); - return 0; + return false; } } } diff --git a/gcc/cpptrad.c b/gcc/cpptrad.c index 5063065daff..e8b5a1e638d 100644 --- a/gcc/cpptrad.c +++ b/gcc/cpptrad.c @@ -802,7 +802,7 @@ recursive_macro (pfile, node) cpp_reader *pfile; cpp_hashnode *node; { - bool recursing = node->flags & NODE_DISABLED; + bool recursing = !!(node->flags & NODE_DISABLED); /* Object-like macros that are already expanding are necessarily recursive.