aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@google.com>2008-06-22 14:56:08 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2008-06-22 14:56:08 +0000
commitd75d71e0acaac3a1d67061ca26fdabd05d6a3295 (patch)
tree3254f9eb50a8e43a9e66b45353bc14f5b46d8dd1 /gcc
parentcaa8b3c687ebe2959c5499894986e0df3d07fdb7 (diff)
downloadgcc-d75d71e0acaac3a1d67061ca26fdabd05d6a3295.zip
gcc-d75d71e0acaac3a1d67061ca26fdabd05d6a3295.tar.gz
gcc-d75d71e0acaac3a1d67061ca26fdabd05d6a3295.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog50
-rw-r--r--gcc/c-common.c5
-rw-r--r--gcc/c-common.h5
-rw-r--r--gcc/c-format.c82
-rw-r--r--gcc/c-format.h2
-rw-r--r--gcc/c-lex.c8
-rw-r--r--gcc/c-parser.c22
-rw-r--r--gcc/c-typeck.c6
-rw-r--r--gcc/cp/lex.c2
-rw-r--r--gcc/cp/parser.c2
10 files changed, 121 insertions, 63 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f92bae9..7f86169 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,53 @@
+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>
* tree.h (enum tree_code): Include all-tree.def, not tree.def.
diff --git a/gcc/c-common.c b/gcc/c-common.c
index ca051c8..7bb6149 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -3558,7 +3558,7 @@ def_fn_type (builtin_type def, builtin_type ret, bool var, int n, ...)
va_start (list, n);
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];
if (t == error_mark_node)
goto egress;
@@ -4588,9 +4588,10 @@ finish_label_address_expr (tree label)
rtx
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)
{
+ enum expand_modifier modifier = (enum expand_modifier) modifiera;
switch (TREE_CODE (exp))
{
case COMPOUND_LITERAL_EXPR:
diff --git a/gcc/c-common.h b/gcc/c-common.h
index 0009369..3ddb44b 100644
--- a/gcc/c-common.h
+++ b/gcc/c-common.h
@@ -184,7 +184,10 @@ enum c_tree_index
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
tree_identifier, despite appearances. */
diff --git a/gcc/c-format.c b/gcc/c-format.c
index 82f5ff3..6fb96a3 100644
--- a/gcc/c-format.c
+++ b/gcc/c-format.c
@@ -283,36 +283,38 @@ typedef struct format_wanted_type
struct format_wanted_type *next;
} format_wanted_type;
+/* Convenience macro for format_length_info meaning unused. */
+#define NO_FMT NULL, FMT_LEN_none, STD_C89
static const format_length_info printf_length_specs[] =
{
{ "h", FMT_LEN_h, STD_C89, "hh", FMT_LEN_hh, STD_C99 },
{ "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C9L },
- { "q", FMT_LEN_ll, STD_EXT, NULL, 0, 0 },
- { "L", FMT_LEN_L, STD_C89, NULL, 0, 0 },
- { "z", FMT_LEN_z, STD_C99, NULL, 0, 0 },
- { "Z", FMT_LEN_z, STD_EXT, NULL, 0, 0 },
- { "t", FMT_LEN_t, STD_C99, NULL, 0, 0 },
- { "j", FMT_LEN_j, STD_C99, NULL, 0, 0 },
- { "H", FMT_LEN_H, STD_EXT, NULL, 0, 0 },
+ { "q", FMT_LEN_ll, STD_EXT, NO_FMT },
+ { "L", FMT_LEN_L, STD_C89, NO_FMT },
+ { "z", FMT_LEN_z, STD_C99, NO_FMT },
+ { "Z", FMT_LEN_z, STD_EXT, NO_FMT },
+ { "t", FMT_LEN_t, STD_C99, NO_FMT },
+ { "j", FMT_LEN_j, STD_C99, NO_FMT },
+ { "H", FMT_LEN_H, STD_EXT, NO_FMT },
{ "D", FMT_LEN_D, STD_EXT, "DD", FMT_LEN_DD, STD_EXT },
- { NULL, 0, 0, NULL, 0, 0 }
+ { NO_FMT, NO_FMT }
};
/* Length specifiers valid for asm_fprintf. */
static const format_length_info asm_fprintf_length_specs[] =
{
{ "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89 },
- { "w", FMT_LEN_none, STD_C89, NULL, 0, 0 },
- { NULL, 0, 0, NULL, 0, 0 }
+ { "w", FMT_LEN_none, STD_C89, NO_FMT },
+ { NO_FMT, NO_FMT }
};
/* Length specifiers valid for GCC diagnostics. */
static const format_length_info gcc_diag_length_specs[] =
{
{ "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C89 },
- { "w", FMT_LEN_none, STD_C89, NULL, 0, 0 },
- { NULL, 0, 0, NULL, 0, 0 }
+ { "w", FMT_LEN_none, STD_C89, NO_FMT },
+ { NO_FMT, NO_FMT }
};
/* The custom diagnostics all accept the same length specifiers. */
@@ -325,14 +327,14 @@ static const format_length_info scanf_length_specs[] =
{
{ "h", FMT_LEN_h, STD_C89, "hh", FMT_LEN_hh, STD_C99 },
{ "l", FMT_LEN_l, STD_C89, "ll", FMT_LEN_ll, STD_C9L },
- { "q", FMT_LEN_ll, STD_EXT, NULL, 0, 0 },
- { "L", FMT_LEN_L, STD_C89, NULL, 0, 0 },
- { "z", FMT_LEN_z, STD_C99, NULL, 0, 0 },
- { "t", FMT_LEN_t, STD_C99, NULL, 0, 0 },
- { "j", FMT_LEN_j, STD_C99, NULL, 0, 0 },
- { "H", FMT_LEN_H, STD_EXT, NULL, 0, 0 },
+ { "q", FMT_LEN_ll, STD_EXT, NO_FMT },
+ { "L", FMT_LEN_L, STD_C89, NO_FMT },
+ { "z", FMT_LEN_z, STD_C99, NO_FMT },
+ { "t", FMT_LEN_t, STD_C99, NO_FMT },
+ { "j", FMT_LEN_j, STD_C99, NO_FMT },
+ { "H", FMT_LEN_H, STD_EXT, NO_FMT },
{ "D", FMT_LEN_D, STD_EXT, "DD", FMT_LEN_DD, STD_EXT },
- { NULL, 0, 0, NULL, 0, 0 }
+ { NO_FMT, NO_FMT }
};
@@ -341,16 +343,16 @@ static const format_length_info scanf_length_specs[] =
static const format_length_info strfmon_length_specs[] =
{
/* A GNU extension. */
- { "L", FMT_LEN_L, STD_C89, NULL, 0, 0 },
- { NULL, 0, 0, NULL, 0, 0 }
+ { "L", FMT_LEN_L, STD_C89, NO_FMT },
+ { NO_FMT, NO_FMT }
};
/* For now, the Fortran front-end routines only use l as length modifier. */
static const format_length_info gcc_gfc_length_specs[] =
{
- { "l", FMT_LEN_l, STD_C89, NULL, 0, 0 },
- { NULL, 0, 0, NULL, 0, 0 }
+ { "l", FMT_LEN_l, STD_C89, NO_FMT },
+ { NO_FMT, NO_FMT }
};
@@ -366,7 +368,7 @@ static const format_flag_spec printf_flag_specs[] =
{ 'w', 0, 0, N_("field width"), N_("field width in printf format"), STD_C89 },
{ 'p', 0, 0, N_("precision"), N_("precision in printf format"), STD_C89 },
{ 'L', 0, 0, N_("length modifier"), N_("length modifier in printf format"), STD_C89 },
- { 0, 0, 0, NULL, NULL, 0 }
+ { 0, 0, 0, NULL, NULL, STD_C89 }
};
@@ -388,7 +390,7 @@ static const format_flag_spec asm_fprintf_flag_specs[] =
{ 'w', 0, 0, N_("field width"), N_("field width in printf format"), STD_C89 },
{ 'p', 0, 0, N_("precision"), N_("precision in printf format"), STD_C89 },
{ 'L', 0, 0, N_("length modifier"), N_("length modifier in printf format"), STD_C89 },
- { 0, 0, 0, NULL, NULL, 0 }
+ { 0, 0, 0, NULL, NULL, STD_C89 }
};
static const format_flag_pair asm_fprintf_flag_pairs[] =
@@ -419,7 +421,7 @@ static const format_flag_spec gcc_diag_flag_specs[] =
{ 'q', 0, 0, N_("'q' flag"), N_("the 'q' diagnostic flag"), STD_C89 },
{ 'p', 0, 0, N_("precision"), N_("precision in printf format"), STD_C89 },
{ 'L', 0, 0, N_("length modifier"), N_("length modifier in printf format"), STD_C89 },
- { 0, 0, 0, NULL, NULL, 0 }
+ { 0, 0, 0, NULL, NULL, STD_C89 }
};
#define gcc_tdiag_flag_specs gcc_diag_flag_specs
@@ -432,7 +434,7 @@ static const format_flag_spec gcc_cxxdiag_flag_specs[] =
{ 'q', 0, 0, N_("'q' flag"), N_("the 'q' diagnostic flag"), STD_C89 },
{ 'p', 0, 0, N_("precision"), N_("precision in printf format"), STD_C89 },
{ 'L', 0, 0, N_("length modifier"), N_("length modifier in printf format"), STD_C89 },
- { 0, 0, 0, NULL, NULL, 0 }
+ { 0, 0, 0, NULL, NULL, STD_C89 }
};
static const format_flag_spec scanf_flag_specs[] =
@@ -444,7 +446,7 @@ static const format_flag_spec scanf_flag_specs[] =
{ 'L', 0, 0, N_("length modifier"), N_("length modifier in scanf format"), STD_C89 },
{ '\'', 0, 0, N_("''' flag"), N_("the ''' scanf flag"), STD_EXT },
{ 'I', 0, 0, N_("'I' flag"), N_("the 'I' scanf flag"), STD_EXT },
- { 0, 0, 0, NULL, NULL, 0 }
+ { 0, 0, 0, NULL, NULL, STD_C89 }
};
@@ -467,7 +469,7 @@ static const format_flag_spec strftime_flag_specs[] =
{ 'E', 0, 0, N_("'E' modifier"), N_("the 'E' strftime modifier"), STD_C99 },
{ 'O', 0, 0, N_("'O' modifier"), N_("the 'O' strftime modifier"), STD_C99 },
{ 'O', 'o', 0, NULL, N_("the 'O' modifier"), STD_EXT },
- { 0, 0, 0, NULL, NULL, 0 }
+ { 0, 0, 0, NULL, NULL, STD_C89 }
};
@@ -494,7 +496,7 @@ static const format_flag_spec strfmon_flag_specs[] =
{ '#', 0, 0, N_("left precision"), N_("left precision in strfmon format"), STD_C89 },
{ 'p', 0, 0, N_("right precision"), N_("right precision in strfmon format"), STD_C89 },
{ 'L', 0, 0, N_("length modifier"), N_("length modifier in strfmon format"), STD_C89 },
- { 0, 0, 0, NULL, NULL, 0 }
+ { 0, 0, 0, NULL, NULL, STD_C89 }
};
static const format_flag_pair strfmon_flag_pairs[] =
@@ -524,7 +526,7 @@ static const format_char_info print_char_table[] =
{ "S", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "R", NULL },
/* GNU conversion specifiers. */
{ "m", 0, STD_EXT, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info asm_fprintf_char_table[] =
@@ -544,7 +546,7 @@ static const format_char_info asm_fprintf_char_table[] =
{ "U", 0, STD_C89, NOARGUMENTS, "", "", NULL },
{ "r", 0, STD_C89, { T89_I, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "", "", NULL },
{ "@", 0, STD_C89, NOARGUMENTS, "", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info gcc_diag_char_table[] =
@@ -567,7 +569,7 @@ static const format_char_info gcc_diag_char_table[] =
{ "<>'", 0, STD_C89, NOARGUMENTS, "", "", NULL },
{ "m", 0, STD_C89, NOARGUMENTS, "q", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info gcc_tdiag_char_table[] =
@@ -590,7 +592,7 @@ static const format_char_info gcc_tdiag_char_table[] =
{ "<>'", 0, STD_C89, NOARGUMENTS, "", "", NULL },
{ "m", 0, STD_C89, NOARGUMENTS, "q", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info gcc_cdiag_char_table[] =
@@ -613,7 +615,7 @@ static const format_char_info gcc_cdiag_char_table[] =
{ "<>'", 0, STD_C89, NOARGUMENTS, "", "", NULL },
{ "m", 0, STD_C89, NOARGUMENTS, "q", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info gcc_cxxdiag_char_table[] =
@@ -639,7 +641,7 @@ static const format_char_info gcc_cxxdiag_char_table[] =
{ "<>'", 0, STD_C89, NOARGUMENTS, "", "", NULL },
{ "m", 0, STD_C89, NOARGUMENTS, "q", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info gcc_gfc_char_table[] =
@@ -657,7 +659,7 @@ static const format_char_info gcc_gfc_char_table[] =
/* This will require a "locus" at runtime. */
{ "L", 0, STD_C89, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "", "R", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info scan_char_table[] =
@@ -678,7 +680,7 @@ static const format_char_info scan_char_table[] =
/* X/Open conversion specifiers. */
{ "C", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "*mw", "W", NULL },
{ "S", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "*amw", "W", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info time_char_table[] =
@@ -705,13 +707,13 @@ static const format_char_info time_char_table[] =
/* GNU conversion specifiers. */
{ "kls", 0, STD_EXT, NOLENGTHS, "-_0Ow", "", NULL },
{ "P", 0, STD_EXT, NOLENGTHS, "", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
static const format_char_info monetary_char_table[] =
{
{ "in", 0, STD_C89, { T89_D, BADLEN, BADLEN, BADLEN, BADLEN, T89_LD, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "=^+(!-w#p", "", NULL },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL, NULL }
+ { NULL, 0, STD_C89, NOLENGTHS, NULL, NULL, NULL }
};
/* This must be in the same order as enum format_type. */
diff --git a/gcc/c-format.h b/gcc/c-format.h
index 6f74354..2b5b50d 100644
--- a/gcc/c-format.h
+++ b/gcc/c-format.h
@@ -117,7 +117,7 @@ typedef struct
/* Macros to fill out tables of these. */
#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 }
diff --git a/gcc/c-lex.c b/gcc/c-lex.c
index c2a0fa3..73834ef 100644
--- a/gcc/c-lex.c
+++ b/gcc/c-lex.c
@@ -471,7 +471,7 @@ narrowest_unsigned_type (unsigned HOST_WIDE_INT low,
unsigned HOST_WIDE_INT high,
unsigned int flags)
{
- enum integer_type_kind itk;
+ int itk;
if ((flags & CPP_N_WIDTH) == CPP_N_SMALL)
itk = itk_unsigned_int;
@@ -487,7 +487,7 @@ narrowest_unsigned_type (unsigned HOST_WIDE_INT low,
if ((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))
- return itk;
+ return (enum integer_type_kind) itk;
}
return itk_none;
@@ -498,7 +498,7 @@ static enum integer_type_kind
narrowest_signed_type (unsigned HOST_WIDE_INT low,
unsigned HOST_WIDE_INT high, unsigned int flags)
{
- enum integer_type_kind itk;
+ int itk;
if ((flags & CPP_N_WIDTH) == CPP_N_SMALL)
itk = itk_int;
@@ -515,7 +515,7 @@ narrowest_signed_type (unsigned HOST_WIDE_INT low,
if ((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))
- return itk;
+ return (enum integer_type_kind) itk;
}
return itk_none;
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index 7607a8d..45aff80 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -208,7 +208,7 @@ c_parse_init (void)
continue;
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;
ridpointers [(int) reswords[i].rid] = id;
}
@@ -396,7 +396,7 @@ c_lex_one_token (c_parser *parser, c_token *token)
break;
case CPP_PRAGMA:
/* 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;
break;
default:
@@ -6312,7 +6312,7 @@ static tree
c_parser_objc_type_name (c_parser *parser)
{
tree quals = NULL_TREE;
- struct c_type_name *typename = NULL;
+ struct c_type_name *type_name = NULL;
tree type = NULL_TREE;
while (true)
{
@@ -6332,9 +6332,9 @@ c_parser_objc_type_name (c_parser *parser)
break;
}
if (c_parser_next_token_starts_typename (parser))
- typename = c_parser_type_name (parser);
- if (typename)
- type = groktypename (typename);
+ type_name = c_parser_type_name (parser);
+ if (type_name)
+ type = groktypename (type_name);
return build_tree_list (quals, type);
}
@@ -6848,7 +6848,8 @@ c_parser_omp_clause_name (c_parser *parser)
/* Validate that a clause of the given type does not already exist. */
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;
@@ -6914,7 +6915,8 @@ c_parser_omp_variable_list (c_parser *parser, enum omp_clause_code kind,
common case for omp clauses. */
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 %<(%>"))
{
@@ -7596,7 +7598,7 @@ c_parser_omp_flush (c_parser *parser)
{
c_parser_consume_pragma (parser);
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))
c_parser_error (parser, "expected %<(%> or end of line");
c_parser_skip_to_pragma_eol (parser);
@@ -8231,7 +8233,7 @@ c_parser_omp_threadprivate (c_parser *parser)
tree vars, t;
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. */
for (t = vars; t; t = TREE_CHAIN (t))
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 23880d1..d5a549c 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -722,7 +722,7 @@ c_common_type (tree t1, tree t2)
signed type. */
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)
mclass = MODE_FRACT;
else if (GET_MODE_CLASS (m1) == MODE_UACCUM)
@@ -733,7 +733,7 @@ c_common_type (tree t1, tree 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)
mclass = MODE_FRACT;
else if (GET_MODE_CLASS (m2) == MODE_UACCUM)
@@ -2767,7 +2767,7 @@ parser_build_binary_op (enum tree_code code, struct c_expr arg1,
if (warn_parentheses)
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 about comparisons against string literals, with the exception
diff --git a/gcc/cp/lex.c b/gcc/cp/lex.c
index c2744c9..233011b 100644
--- a/gcc/cp/lex.c
+++ b/gcc/cp/lex.c
@@ -344,7 +344,7 @@ init_reswords (void)
for (i = 0; i < ARRAY_SIZE (reswords); i++)
{
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;
if (! (reswords[i].disable & mask))
C_IS_RESERVED_WORD (id) = 1;
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 81cd03f..7d530f5 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -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
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;