c-lex.c (narrowest_unsigned_type): Change itk to int.
authorIan Lance Taylor <iant@google.com>
Sun, 22 Jun 2008 14:56:08 +0000 (14:56 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Sun, 22 Jun 2008 14:56:08 +0000 (14:56 +0000)
* 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

gcc/ChangeLog
gcc/c-common.c
gcc/c-common.h
gcc/c-format.c
gcc/c-format.h
gcc/c-lex.c
gcc/c-parser.c
gcc/c-typeck.c
gcc/cp/lex.c
gcc/cp/parser.c

index f92bae9d901f91e839a096a9dff218c7413efa93..7f86169333207954358222a8c1e47750fabcb6fa 100644 (file)
@@ -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.
index ca051c888767dca971fa58a7bf69d5772737e2c9..7bb614971d77c098cfd7181b20757ec318fb8033 100644 (file)
@@ -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:
index 000936969a38d603177eab4f3002145aff6a2f88..3ddb44bd8d665d7ea59984d4317494261515e28e 100644 (file)
@@ -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.  */
index 82f5ff39bc975ec0a095e26f1f5e44f3485b072f..6fb96a38ddd67e1c1f5872dfceb42369b118b62b 100644 (file)
@@ -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.  */
index 6f74354c55572ce8339073d9d48eb5e3941020e7..2b5b50dd738c55f393b65ae743a8eaa9f624f4a3 100644 (file)
@@ -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 }
 
 
index c2a0fa350b53c070c4b558a9fdda1c861b335dae..73834ef413ad5595644fc87ba18378748d4bd81c 100644 (file)
@@ -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;
index 7607a8dfdcfb5c8df4234f983570d8f3c74c5a69..45aff80d6c04929bbe88d7b542e45ee2987ce156 100644 (file)
@@ -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))
index 23880d16a4377c442792405dab0d1b8e0a3eba82..d5a549c94782a1ec6674fb34647f19bcd2e6a37e 100644 (file)
@@ -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
index c2744c9f8fda61051d835c1f013ee98ab6e17eeb..233011b85d9e84107aee4b7e62b092b077d6a828 100644 (file)
@@ -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;
index 81cd03fc86388b4ef9babc67625a4a556555a18e..7d530f50714c552ed8139917a39a1589da1eabb6 100644 (file)
@@ -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;