Commit d75d71e0 by Ian Lance Taylor Committed by Ian Lance Taylor

c-lex.c (narrowest_unsigned_type): Change itk to int.

	* c-lex.c (narrowest_unsigned_type): Change itk to int.
	(narrowest_signed_type): Likewise.
	* c-typeck.c (c_common_type): Change local variable mclass to enum
	mode_class, twice.
	(parser_build_binary_op): Compare the TREE_CODE_CLASS with
	tcc_comparison, not the tree code itself.
	* c-common.c (def_fn_type): Pass int, not an enum, to va_arg.
	(c_expand_expr): Cast modifier to enum expand_modifier.
	* c-common.h (C_RID_CODE): Add casts.
	(C_SET_RID_CODE): Define.
	* c-parser.c (c_parse_init): Use C_SET_RID_CODE.
	(c_lex_one_token): Add cast to avoid warning.
	(c_parser_objc_type_name): Rename local typename to type_name.
	(check_no_duplicate_clause): Change code parameter to enum
	omp_clause_code.
	(c_parser_omp_var_list_parens): Change kind parameter to enum
	omp_clause_code.
	(c_parser_omp_flush): Pass OMP_CLAUSE_ERROR, not 0, to
	c_parser_omp_list_var_parens.
	(c_parser_omp_threadprivate): Likewise.
	* cp/lex.c (init_reswords): Use C_SET_RID_CODE.
	* cp/parser.c (cp_lexer_get_preprocessor_token): Likewise.
	* c-format.c (NO_FMT): Define.
	(printf_length_specs): Use NO_FMT.
	(asm_fprintf_length_specs): Likewise.
	(gcc_diag_length_specs): Likewise.
	(scanf_length_specs): Likewise.
	(strfmon_length_specs): Likewise.
	(gcc_gfc_length_specs): Likewise.
	(printf_flag_specs): Change 0 to STD_C89.
	(asm_fprintf_flag_specs): Likewise.
	(gcc_diag_flag_specs): Likewise.
	(gcc_cxxdiag_flag_specs): Likewise.
	(scanf_flag_specs): Likewise.
	(strftime_flag_specs): Likewise.
	(strfmon_flag_specs): Likewise.
	(print_char_table): Likewise.
	(asm_fprintf_char_table): Likewise.
	(gcc_diag_char_table): Likewise.
	(gcc_tdiag_char_table): Likewise.
	(gcc_cdiag_char_table): Likewise.
	(gcc_cxxdiag_char_table): Likewise.
	(gcc_gfc_char_table): Likewise.
	(scan_char_table): Likewise.
	(time_char_table): Likewis.
	(monetary_char_table): Likewise.
	* c-format.h (BADLEN): Likewise.

From-SVN: r137019
parent caa8b3c6
2008-06-22 Ian Lance Taylor <iant@google.com>
* c-lex.c (narrowest_unsigned_type): Change itk to int.
(narrowest_signed_type): Likewise.
* c-typeck.c (c_common_type): Change local variable mclass to enum
mode_class, twice.
(parser_build_binary_op): Compare the TREE_CODE_CLASS with
tcc_comparison, not the tree code itself.
* c-common.c (def_fn_type): Pass int, not an enum, to va_arg.
(c_expand_expr): Cast modifier to enum expand_modifier.
* c-common.h (C_RID_CODE): Add casts.
(C_SET_RID_CODE): Define.
* c-parser.c (c_parse_init): Use C_SET_RID_CODE.
(c_lex_one_token): Add cast to avoid warning.
(c_parser_objc_type_name): Rename local typename to type_name.
(check_no_duplicate_clause): Change code parameter to enum
omp_clause_code.
(c_parser_omp_var_list_parens): Change kind parameter to enum
omp_clause_code.
(c_parser_omp_flush): Pass OMP_CLAUSE_ERROR, not 0, to
c_parser_omp_list_var_parens.
(c_parser_omp_threadprivate): Likewise.
* cp/lex.c (init_reswords): Use C_SET_RID_CODE.
* cp/parser.c (cp_lexer_get_preprocessor_token): Likewise.
* c-format.c (NO_FMT): Define.
(printf_length_specs): Use NO_FMT.
(asm_fprintf_length_specs): Likewise.
(gcc_diag_length_specs): Likewise.
(scanf_length_specs): Likewise.
(strfmon_length_specs): Likewise.
(gcc_gfc_length_specs): Likewise.
(printf_flag_specs): Change 0 to STD_C89.
(asm_fprintf_flag_specs): Likewise.
(gcc_diag_flag_specs): Likewise.
(gcc_cxxdiag_flag_specs): Likewise.
(scanf_flag_specs): Likewise.
(strftime_flag_specs): Likewise.
(strfmon_flag_specs): Likewise.
(print_char_table): Likewise.
(asm_fprintf_char_table): Likewise.
(gcc_diag_char_table): Likewise.
(gcc_tdiag_char_table): Likewise.
(gcc_cdiag_char_table): Likewise.
(gcc_cxxdiag_char_table): Likewise.
(gcc_gfc_char_table): Likewise.
(scan_char_table): Likewise.
(time_char_table): Likewis.
(monetary_char_table): Likewise.
* c-format.h (BADLEN): Likewise.
2008-06-21 Ian Lance Taylor <iant@google.com> 2008-06-21 Ian Lance Taylor <iant@google.com>
* tree.h (enum tree_code): Include all-tree.def, not tree.def. * tree.h (enum tree_code): Include all-tree.def, not tree.def.
......
...@@ -3558,7 +3558,7 @@ def_fn_type (builtin_type def, builtin_type ret, bool var, int n, ...) ...@@ -3558,7 +3558,7 @@ def_fn_type (builtin_type def, builtin_type ret, bool var, int n, ...)
va_start (list, n); va_start (list, n);
for (i = 0; i < n; ++i) for (i = 0; i < n; ++i)
{ {
builtin_type a = va_arg (list, builtin_type); builtin_type a = (builtin_type) va_arg (list, int);
t = builtin_types[a]; t = builtin_types[a];
if (t == error_mark_node) if (t == error_mark_node)
goto egress; goto egress;
...@@ -4588,9 +4588,10 @@ finish_label_address_expr (tree label) ...@@ -4588,9 +4588,10 @@ finish_label_address_expr (tree label)
rtx rtx
c_expand_expr (tree exp, rtx target, enum machine_mode tmode, c_expand_expr (tree exp, rtx target, enum machine_mode tmode,
int modifier /* Actually enum_modifier. */, int modifiera /* Actually enum expand_modifier. */,
rtx *alt_rtl) rtx *alt_rtl)
{ {
enum expand_modifier modifier = (enum expand_modifier) modifiera;
switch (TREE_CODE (exp)) switch (TREE_CODE (exp))
{ {
case COMPOUND_LITERAL_EXPR: case COMPOUND_LITERAL_EXPR:
......
...@@ -184,7 +184,10 @@ enum c_tree_index ...@@ -184,7 +184,10 @@ enum c_tree_index
CTI_MAX CTI_MAX
}; };
#define C_RID_CODE(id) (((struct c_common_identifier *) (id))->node.rid_code) #define C_RID_CODE(id) \
((enum rid) (((struct c_common_identifier *) (id))->node.rid_code))
#define C_SET_RID_CODE(id, code) \
(((struct c_common_identifier *) (id))->node.rid_code = (unsigned char) code)
/* Identifier part common to the C front ends. Inherits from /* Identifier part common to the C front ends. Inherits from
tree_identifier, despite appearances. */ tree_identifier, despite appearances. */
......
...@@ -117,7 +117,7 @@ typedef struct ...@@ -117,7 +117,7 @@ typedef struct
/* Macros to fill out tables of these. */ /* Macros to fill out tables of these. */
#define NOARGUMENTS { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN } #define NOARGUMENTS { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }
#define BADLEN { 0, NULL, NULL } #define BADLEN { STD_C89, NULL, NULL }
#define NOLENGTHS { BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN } #define NOLENGTHS { BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }
......
...@@ -471,7 +471,7 @@ narrowest_unsigned_type (unsigned HOST_WIDE_INT low, ...@@ -471,7 +471,7 @@ narrowest_unsigned_type (unsigned HOST_WIDE_INT low,
unsigned HOST_WIDE_INT high, unsigned HOST_WIDE_INT high,
unsigned int flags) unsigned int flags)
{ {
enum integer_type_kind itk; int itk;
if ((flags & CPP_N_WIDTH) == CPP_N_SMALL) if ((flags & CPP_N_WIDTH) == CPP_N_SMALL)
itk = itk_unsigned_int; itk = itk_unsigned_int;
...@@ -487,7 +487,7 @@ narrowest_unsigned_type (unsigned HOST_WIDE_INT low, ...@@ -487,7 +487,7 @@ narrowest_unsigned_type (unsigned HOST_WIDE_INT low,
if ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) > high if ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) > high
|| ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) == high || ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) == high
&& TREE_INT_CST_LOW (upper) >= low)) && TREE_INT_CST_LOW (upper) >= low))
return itk; return (enum integer_type_kind) itk;
} }
return itk_none; return itk_none;
...@@ -498,7 +498,7 @@ static enum integer_type_kind ...@@ -498,7 +498,7 @@ static enum integer_type_kind
narrowest_signed_type (unsigned HOST_WIDE_INT low, narrowest_signed_type (unsigned HOST_WIDE_INT low,
unsigned HOST_WIDE_INT high, unsigned int flags) unsigned HOST_WIDE_INT high, unsigned int flags)
{ {
enum integer_type_kind itk; int itk;
if ((flags & CPP_N_WIDTH) == CPP_N_SMALL) if ((flags & CPP_N_WIDTH) == CPP_N_SMALL)
itk = itk_int; itk = itk_int;
...@@ -515,7 +515,7 @@ narrowest_signed_type (unsigned HOST_WIDE_INT low, ...@@ -515,7 +515,7 @@ narrowest_signed_type (unsigned HOST_WIDE_INT low,
if ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) > high if ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) > high
|| ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) == high || ((unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (upper) == high
&& TREE_INT_CST_LOW (upper) >= low)) && TREE_INT_CST_LOW (upper) >= low))
return itk; return (enum integer_type_kind) itk;
} }
return itk_none; return itk_none;
......
...@@ -208,7 +208,7 @@ c_parse_init (void) ...@@ -208,7 +208,7 @@ c_parse_init (void)
continue; continue;
id = get_identifier (reswords[i].word); id = get_identifier (reswords[i].word);
C_RID_CODE (id) = reswords[i].rid; C_SET_RID_CODE (id, reswords[i].rid);
C_IS_RESERVED_WORD (id) = 1; C_IS_RESERVED_WORD (id) = 1;
ridpointers [(int) reswords[i].rid] = id; ridpointers [(int) reswords[i].rid] = id;
} }
...@@ -396,7 +396,7 @@ c_lex_one_token (c_parser *parser, c_token *token) ...@@ -396,7 +396,7 @@ c_lex_one_token (c_parser *parser, c_token *token)
break; break;
case CPP_PRAGMA: case CPP_PRAGMA:
/* We smuggled the cpp_token->u.pragma value in an INTEGER_CST. */ /* We smuggled the cpp_token->u.pragma value in an INTEGER_CST. */
token->pragma_kind = TREE_INT_CST_LOW (token->value); token->pragma_kind = (enum pragma_kind) TREE_INT_CST_LOW (token->value);
token->value = NULL; token->value = NULL;
break; break;
default: default:
...@@ -6312,7 +6312,7 @@ static tree ...@@ -6312,7 +6312,7 @@ static tree
c_parser_objc_type_name (c_parser *parser) c_parser_objc_type_name (c_parser *parser)
{ {
tree quals = NULL_TREE; tree quals = NULL_TREE;
struct c_type_name *typename = NULL; struct c_type_name *type_name = NULL;
tree type = NULL_TREE; tree type = NULL_TREE;
while (true) while (true)
{ {
...@@ -6332,9 +6332,9 @@ c_parser_objc_type_name (c_parser *parser) ...@@ -6332,9 +6332,9 @@ c_parser_objc_type_name (c_parser *parser)
break; break;
} }
if (c_parser_next_token_starts_typename (parser)) if (c_parser_next_token_starts_typename (parser))
typename = c_parser_type_name (parser); type_name = c_parser_type_name (parser);
if (typename) if (type_name)
type = groktypename (typename); type = groktypename (type_name);
return build_tree_list (quals, type); return build_tree_list (quals, type);
} }
...@@ -6848,7 +6848,8 @@ c_parser_omp_clause_name (c_parser *parser) ...@@ -6848,7 +6848,8 @@ c_parser_omp_clause_name (c_parser *parser)
/* Validate that a clause of the given type does not already exist. */ /* Validate that a clause of the given type does not already exist. */
static void static void
check_no_duplicate_clause (tree clauses, enum tree_code code, const char *name) check_no_duplicate_clause (tree clauses, enum omp_clause_code code,
const char *name)
{ {
tree c; tree c;
...@@ -6914,7 +6915,8 @@ c_parser_omp_variable_list (c_parser *parser, enum omp_clause_code kind, ...@@ -6914,7 +6915,8 @@ c_parser_omp_variable_list (c_parser *parser, enum omp_clause_code kind,
common case for omp clauses. */ common case for omp clauses. */
static tree static tree
c_parser_omp_var_list_parens (c_parser *parser, enum tree_code kind, tree list) c_parser_omp_var_list_parens (c_parser *parser, enum omp_clause_code kind,
tree list)
{ {
if (c_parser_require (parser, CPP_OPEN_PAREN, "expected %<(%>")) if (c_parser_require (parser, CPP_OPEN_PAREN, "expected %<(%>"))
{ {
...@@ -7596,7 +7598,7 @@ c_parser_omp_flush (c_parser *parser) ...@@ -7596,7 +7598,7 @@ c_parser_omp_flush (c_parser *parser)
{ {
c_parser_consume_pragma (parser); c_parser_consume_pragma (parser);
if (c_parser_next_token_is (parser, CPP_OPEN_PAREN)) if (c_parser_next_token_is (parser, CPP_OPEN_PAREN))
c_parser_omp_var_list_parens (parser, 0, NULL); c_parser_omp_var_list_parens (parser, OMP_CLAUSE_ERROR, NULL);
else if (c_parser_next_token_is_not (parser, CPP_PRAGMA_EOL)) else if (c_parser_next_token_is_not (parser, CPP_PRAGMA_EOL))
c_parser_error (parser, "expected %<(%> or end of line"); c_parser_error (parser, "expected %<(%> or end of line");
c_parser_skip_to_pragma_eol (parser); c_parser_skip_to_pragma_eol (parser);
...@@ -8231,7 +8233,7 @@ c_parser_omp_threadprivate (c_parser *parser) ...@@ -8231,7 +8233,7 @@ c_parser_omp_threadprivate (c_parser *parser)
tree vars, t; tree vars, t;
c_parser_consume_pragma (parser); c_parser_consume_pragma (parser);
vars = c_parser_omp_var_list_parens (parser, 0, NULL); vars = c_parser_omp_var_list_parens (parser, OMP_CLAUSE_ERROR, NULL);
/* Mark every variable in VARS to be assigned thread local storage. */ /* Mark every variable in VARS to be assigned thread local storage. */
for (t = vars; t; t = TREE_CHAIN (t)) for (t = vars; t; t = TREE_CHAIN (t))
......
...@@ -722,7 +722,7 @@ c_common_type (tree t1, tree t2) ...@@ -722,7 +722,7 @@ c_common_type (tree t1, tree t2)
signed type. */ signed type. */
if (code1 == FIXED_POINT_TYPE && TYPE_UNSIGNED (t1)) if (code1 == FIXED_POINT_TYPE && TYPE_UNSIGNED (t1))
{ {
unsigned char mclass = 0; enum mode_class mclass = (enum mode_class) 0;
if (GET_MODE_CLASS (m1) == MODE_UFRACT) if (GET_MODE_CLASS (m1) == MODE_UFRACT)
mclass = MODE_FRACT; mclass = MODE_FRACT;
else if (GET_MODE_CLASS (m1) == MODE_UACCUM) else if (GET_MODE_CLASS (m1) == MODE_UACCUM)
...@@ -733,7 +733,7 @@ c_common_type (tree t1, tree t2) ...@@ -733,7 +733,7 @@ c_common_type (tree t1, tree t2)
} }
if (code2 == FIXED_POINT_TYPE && TYPE_UNSIGNED (t2)) if (code2 == FIXED_POINT_TYPE && TYPE_UNSIGNED (t2))
{ {
unsigned char mclass = 0; enum mode_class mclass = (enum mode_class) 0;
if (GET_MODE_CLASS (m2) == MODE_UFRACT) if (GET_MODE_CLASS (m2) == MODE_UFRACT)
mclass = MODE_FRACT; mclass = MODE_FRACT;
else if (GET_MODE_CLASS (m2) == MODE_UACCUM) else if (GET_MODE_CLASS (m2) == MODE_UACCUM)
...@@ -2767,7 +2767,7 @@ parser_build_binary_op (enum tree_code code, struct c_expr arg1, ...@@ -2767,7 +2767,7 @@ parser_build_binary_op (enum tree_code code, struct c_expr arg1,
if (warn_parentheses) if (warn_parentheses)
warn_about_parentheses (code, code1, code2); warn_about_parentheses (code, code1, code2);
if (code1 != tcc_comparison) if (TREE_CODE_CLASS (code1) != tcc_comparison)
warn_logical_operator (code, arg1.value, arg2.value); warn_logical_operator (code, arg1.value, arg2.value);
/* Warn about comparisons against string literals, with the exception /* Warn about comparisons against string literals, with the exception
......
...@@ -344,7 +344,7 @@ init_reswords (void) ...@@ -344,7 +344,7 @@ init_reswords (void)
for (i = 0; i < ARRAY_SIZE (reswords); i++) for (i = 0; i < ARRAY_SIZE (reswords); i++)
{ {
id = get_identifier (reswords[i].word); id = get_identifier (reswords[i].word);
C_RID_CODE (id) = reswords[i].rid; C_SET_RID_CODE (id, reswords[i].rid);
ridpointers [(int) reswords[i].rid] = id; ridpointers [(int) reswords[i].rid] = id;
if (! (reswords[i].disable & mask)) if (! (reswords[i].disable & mask))
C_IS_RESERVED_WORD (id) = 1; C_IS_RESERVED_WORD (id) = 1;
......
...@@ -446,7 +446,7 @@ cp_lexer_get_preprocessor_token (cp_lexer *lexer, cp_token *token) ...@@ -446,7 +446,7 @@ cp_lexer_get_preprocessor_token (cp_lexer *lexer, cp_token *token)
/* Clear out the C_RID_CODE so we don't warn about this /* Clear out the C_RID_CODE so we don't warn about this
particular identifier-turned-keyword again. */ particular identifier-turned-keyword again. */
C_RID_CODE (token->u.value) = RID_MAX; C_SET_RID_CODE (token->u.value, RID_MAX);
} }
token->ambiguous_p = false; token->ambiguous_p = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment