Index: gcc/ada/tb-gcc.c =================================================================== --- gcc/ada/tb-gcc.c (revision 148953) +++ gcc/ada/tb-gcc.c (working copy) @@ -64,13 +64,13 @@ static _Unwind_Reason_Code trace_callback (struct _Unwind_Context * uw_context, uw_data_t * uw_data) { - void * pc; + char * pc; #if defined (__ia64__) && defined (__hpux__) /* Work around problem with _Unwind_GetIP on ia64 HP-UX. */ uwx_get_reg ((struct uwx_env *) uw_context, UWX_REG_IP, (uint64_t *) &pc); #else - pc = (void *) _Unwind_GetIP (uw_context); + pc = (char *) _Unwind_GetIP (uw_context); #endif if (uw_data->n_frames_skipped < uw_data->n_frames_to_skip) Index: gcc/ada/gcc-interface/utils.c =================================================================== --- gcc/ada/gcc-interface/utils.c (revision 148953) +++ gcc/ada/gcc-interface/utils.c (working copy) @@ -1014,33 +1014,33 @@ bool has_rep) { tree type = TREE_TYPE (last_size); - tree new; + tree new_tree; if (!special || TREE_CODE (size) != COND_EXPR) { - new = size_binop (PLUS_EXPR, first_bit, size); + new_tree = size_binop (PLUS_EXPR, first_bit, size); if (has_rep) - new = size_binop (MAX_EXPR, last_size, new); + new_tree = size_binop (MAX_EXPR, last_size, new_tree); } else - new = fold_build3 (COND_EXPR, type, TREE_OPERAND (size, 0), - integer_zerop (TREE_OPERAND (size, 1)) - ? last_size : merge_sizes (last_size, first_bit, - TREE_OPERAND (size, 1), - 1, has_rep), - integer_zerop (TREE_OPERAND (size, 2)) - ? last_size : merge_sizes (last_size, first_bit, - TREE_OPERAND (size, 2), - 1, has_rep)); + new_tree = fold_build3 (COND_EXPR, type, TREE_OPERAND (size, 0), + integer_zerop (TREE_OPERAND (size, 1)) + ? last_size : merge_sizes (last_size, first_bit, + TREE_OPERAND (size, 1), + 1, has_rep), + integer_zerop (TREE_OPERAND (size, 2)) + ? last_size : merge_sizes (last_size, first_bit, + TREE_OPERAND (size, 2), + 1, has_rep)); /* We don't need any NON_VALUE_EXPRs and they can confuse us (especially when fed through substitute_in_expr) into thinking that a constant size is not constant. */ - while (TREE_CODE (new) == NON_LVALUE_EXPR) - new = TREE_OPERAND (new, 0); + while (TREE_CODE (new_tree) == NON_LVALUE_EXPR) + new_tree = TREE_OPERAND (new_tree, 0); - return new; + return new_tree; } /* Utility function of above to see if OP0 and OP1, both of SIZETYPE, are @@ -1160,18 +1160,18 @@ tree copy_type (tree type) { - tree new = copy_node (type); + tree new_tree = copy_node (type); /* copy_node clears this field instead of copying it, because it is aliased with TREE_CHAIN. */ - TYPE_STUB_DECL (new) = TYPE_STUB_DECL (type); + TYPE_STUB_DECL (new_tree) = TYPE_STUB_DECL (type); - TYPE_POINTER_TO (new) = 0; - TYPE_REFERENCE_TO (new) = 0; - TYPE_MAIN_VARIANT (new) = new; - TYPE_NEXT_VARIANT (new) = 0; + TYPE_POINTER_TO (new_tree) = 0; + TYPE_REFERENCE_TO (new_tree) = 0; + TYPE_MAIN_VARIANT (new_tree) = new_tree; + TYPE_NEXT_VARIANT (new_tree) = 0; - return new; + return new_tree; } /* Return a subtype of sizetype with range MIN to MAX and whose @@ -2512,7 +2512,7 @@ tree record_type = make_node (RECORD_TYPE); tree pointer32_type; tree field_list = 0; - int class; + int class_i; int dtype = 0; tree inner_type; int ndim; @@ -2624,22 +2624,22 @@ { case By_Descriptor_A: case By_Short_Descriptor_A: - class = 4; + class_i = 4; break; case By_Descriptor_NCA: case By_Short_Descriptor_NCA: - class = 10; + class_i = 10; break; case By_Descriptor_SB: case By_Short_Descriptor_SB: - class = 15; + class_i = 15; break; case By_Descriptor: case By_Short_Descriptor: case By_Descriptor_S: case By_Short_Descriptor_S: default: - class = 1; + class_i = 1; break; } @@ -2661,7 +2661,7 @@ field_list = chainon (field_list, make_descriptor_field ("CLASS", gnat_type_for_size (8, 1), - record_type, size_int (class))); + record_type, size_int (class_i))); /* Of course this will crash at run-time if the address space is not within the low 32 bits, but there is nothing else we can do. */ @@ -2827,7 +2827,7 @@ tree record64_type = make_node (RECORD_TYPE); tree pointer64_type; tree field_list64 = 0; - int class; + int class_i; int dtype = 0; tree inner_type; int ndim; @@ -2938,18 +2938,18 @@ switch (mech) { case By_Descriptor_A: - class = 4; + class_i = 4; break; case By_Descriptor_NCA: - class = 10; + class_i = 10; break; case By_Descriptor_SB: - class = 15; + class_i = 15; break; case By_Descriptor: case By_Descriptor_S: default: - class = 1; + class_i = 1; break; } @@ -2968,7 +2968,7 @@ field_list64 = chainon (field_list64, make_descriptor_field ("CLASS", gnat_type_for_size (8, 1), - record64_type, size_int (class))); + record64_type, size_int (class_i))); field_list64 = chainon (field_list64, make_descriptor_field ("MBMO", @@ -3151,9 +3151,9 @@ tree desc_type = TREE_TYPE (TREE_TYPE (gnu_expr)); tree desc = build1 (INDIRECT_REF, desc_type, gnu_expr); /* The CLASS field is the 3rd field in the descriptor. */ - tree class = TREE_CHAIN (TREE_CHAIN (TYPE_FIELDS (desc_type))); + tree class_tree = TREE_CHAIN (TREE_CHAIN (TYPE_FIELDS (desc_type))); /* The POINTER field is the 6th field in the descriptor. */ - tree pointer64 = TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (class))); + tree pointer64 = TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (class_tree))); /* Retrieve the value of the POINTER field. */ tree gnu_expr64 @@ -3169,9 +3169,9 @@ tree template_type = TREE_TYPE (p_bounds_type); tree min_field = TYPE_FIELDS (template_type); tree max_field = TREE_CHAIN (TYPE_FIELDS (template_type)); - tree template, template_addr, aflags, dimct, t, u; + tree template_tree, template_addr, aflags, dimct, t, u; /* See the head comment of build_vms_descriptor. */ - int iclass = TREE_INT_CST_LOW (DECL_INITIAL (class)); + int iclass = TREE_INT_CST_LOW (DECL_INITIAL (class_tree)); tree lfield, ufield; /* Convert POINTER to the type of the P_ARRAY field. */ @@ -3182,23 +3182,23 @@ case 1: /* Class S */ case 15: /* Class SB */ /* Build {1, LENGTH} template; LENGTH64 is the 5th field. */ - t = TREE_CHAIN (TREE_CHAIN (class)); + t = TREE_CHAIN (TREE_CHAIN (class_tree)); t = build3 (COMPONENT_REF, TREE_TYPE (t), desc, t, NULL_TREE); t = tree_cons (min_field, convert (TREE_TYPE (min_field), integer_one_node), tree_cons (max_field, convert (TREE_TYPE (max_field), t), NULL_TREE)); - template = gnat_build_constructor (template_type, t); - template_addr = build_unary_op (ADDR_EXPR, NULL_TREE, template); + template_tree = gnat_build_constructor (template_type, t); + template_addr = build_unary_op (ADDR_EXPR, NULL_TREE, template_tree); /* For class S, we are done. */ if (iclass == 1) break; /* Test that we really have a SB descriptor, like DEC Ada. */ - t = build3 (COMPONENT_REF, TREE_TYPE (class), desc, class, NULL); - u = convert (TREE_TYPE (class), DECL_INITIAL (class)); + t = build3 (COMPONENT_REF, TREE_TYPE (class_tree), desc, class_tree, NULL); + u = convert (TREE_TYPE (class_tree), DECL_INITIAL (class_tree)); u = build_binary_op (EQ_EXPR, integer_type_node, t, u); /* If so, there is already a template in the descriptor and it is located right after the POINTER field. The fields are @@ -3216,12 +3216,12 @@ t = tree_cons (TYPE_FIELDS (template_type), lfield, tree_cons (TREE_CHAIN (TYPE_FIELDS (template_type)), ufield, NULL_TREE)); - template = gnat_build_constructor (template_type, t); + template_tree = gnat_build_constructor (template_type, t); /* Otherwise use the {1, LENGTH} template we build above. */ template_addr = build3 (COND_EXPR, p_bounds_type, u, build_unary_op (ADDR_EXPR, p_bounds_type, - template), + template_tree), template_addr); break; @@ -3263,12 +3263,12 @@ t = tree_cons (TYPE_FIELDS (template_type), lfield, tree_cons (TREE_CHAIN (TYPE_FIELDS (template_type)), ufield, NULL_TREE)); - template = gnat_build_constructor (template_type, t); - template = build3 (COND_EXPR, p_bounds_type, u, + template_tree = gnat_build_constructor (template_type, t); + template_tree = build3 (COND_EXPR, p_bounds_type, u, build_call_raise (CE_Length_Check_Failed, Empty, N_Raise_Constraint_Error), - template); - template_addr = build_unary_op (ADDR_EXPR, p_bounds_type, template); + template_tree); + template_addr = build_unary_op (ADDR_EXPR, p_bounds_type, template_tree); break; case 10: /* Class NCA */ @@ -3299,9 +3299,9 @@ tree desc_type = TREE_TYPE (TREE_TYPE (gnu_expr)); tree desc = build1 (INDIRECT_REF, desc_type, gnu_expr); /* The CLASS field is the 3rd field in the descriptor. */ - tree class = TREE_CHAIN (TREE_CHAIN (TYPE_FIELDS (desc_type))); + tree class_tree = TREE_CHAIN (TREE_CHAIN (TYPE_FIELDS (desc_type))); /* The POINTER field is the 4th field in the descriptor. */ - tree pointer = TREE_CHAIN (class); + tree pointer = TREE_CHAIN (class_tree); /* Retrieve the value of the POINTER field. */ tree gnu_expr32 @@ -3317,9 +3317,9 @@ tree template_type = TREE_TYPE (p_bounds_type); tree min_field = TYPE_FIELDS (template_type); tree max_field = TREE_CHAIN (TYPE_FIELDS (template_type)); - tree template, template_addr, aflags, dimct, t, u; + tree template_tree, template_addr, aflags, dimct, t, u; /* See the head comment of build_vms_descriptor. */ - int iclass = TREE_INT_CST_LOW (DECL_INITIAL (class)); + int iclass = TREE_INT_CST_LOW (DECL_INITIAL (class_tree)); /* Convert POINTER to the type of the P_ARRAY field. */ gnu_expr32 = convert (p_array_type, gnu_expr32); @@ -3336,25 +3336,25 @@ tree_cons (max_field, convert (TREE_TYPE (max_field), t), NULL_TREE)); - template = gnat_build_constructor (template_type, t); - template_addr = build_unary_op (ADDR_EXPR, NULL_TREE, template); + template_tree = gnat_build_constructor (template_type, t); + template_addr = build_unary_op (ADDR_EXPR, NULL_TREE, template_tree); /* For class S, we are done. */ if (iclass == 1) break; /* Test that we really have a SB descriptor, like DEC Ada. */ - t = build3 (COMPONENT_REF, TREE_TYPE (class), desc, class, NULL); - u = convert (TREE_TYPE (class), DECL_INITIAL (class)); + t = build3 (COMPONENT_REF, TREE_TYPE (class_tree), desc, class_tree, NULL); + u = convert (TREE_TYPE (class_tree), DECL_INITIAL (class_tree)); u = build_binary_op (EQ_EXPR, integer_type_node, t, u); /* If so, there is already a template in the descriptor and it is located right after the POINTER field. */ t = TREE_CHAIN (pointer); - template = build3 (COMPONENT_REF, TREE_TYPE (t), desc, t, NULL_TREE); + template_tree = build3 (COMPONENT_REF, TREE_TYPE (t), desc, t, NULL_TREE); /* Otherwise use the {1, LENGTH} template we build above. */ template_addr = build3 (COND_EXPR, p_bounds_type, u, build_unary_op (ADDR_EXPR, p_bounds_type, - template), + template_tree), template_addr); break; @@ -3381,12 +3381,12 @@ /* There is already a template in the descriptor and it is located at the start of block 3 (12th field). */ t = TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (TREE_CHAIN (t)))); - template = build3 (COMPONENT_REF, TREE_TYPE (t), desc, t, NULL_TREE); - template = build3 (COND_EXPR, p_bounds_type, u, + template_tree = build3 (COMPONENT_REF, TREE_TYPE (t), desc, t, NULL_TREE); + template_tree = build3 (COND_EXPR, p_bounds_type, u, build_call_raise (CE_Length_Check_Failed, Empty, N_Raise_Constraint_Error), - template); - template_addr = build_unary_op (ADDR_EXPR, p_bounds_type, template); + template_tree); + template_addr = build_unary_op (ADDR_EXPR, p_bounds_type, template_tree); break; case 10: /* Class NCA */ @@ -3717,7 +3717,7 @@ tree template_type = TREE_TYPE (TREE_TYPE (TREE_CHAIN (TYPE_FIELDS (type)))); tree p_array_type = TREE_TYPE (TYPE_FIELDS (type)); tree etype = TREE_TYPE (expr); - tree template; + tree template_tree; /* If EXPR is null, make a fat pointer that contains null pointers to the template and array. */ @@ -3743,7 +3743,7 @@ else expr = build1 (INDIRECT_REF, TREE_TYPE (etype), expr); - template = build_component_ref (expr, NULL_TREE, fields, false); + template_tree = build_component_ref (expr, NULL_TREE, fields, false); expr = build_unary_op (ADDR_EXPR, NULL_TREE, build_component_ref (expr, NULL_TREE, TREE_CHAIN (fields), false)); @@ -3751,7 +3751,7 @@ /* Otherwise, build the constructor for the template. */ else - template = build_template (template_type, TREE_TYPE (etype), expr); + template_tree = build_template (template_type, TREE_TYPE (etype), expr); /* The final result is a constructor for the fat pointer. @@ -3771,7 +3771,7 @@ tree_cons (TYPE_FIELDS (type), convert (p_array_type, expr), tree_cons (TREE_CHAIN (TYPE_FIELDS (type)), - build_unary_op (ADDR_EXPR, NULL_TREE, template), + build_unary_op (ADDR_EXPR, NULL_TREE, template_tree), NULL_TREE))); } @@ -4301,20 +4301,20 @@ maybe_unconstrained_array (tree exp) { enum tree_code code = TREE_CODE (exp); - tree new; + tree new_tree; switch (TREE_CODE (TREE_TYPE (exp))) { case UNCONSTRAINED_ARRAY_TYPE: if (code == UNCONSTRAINED_ARRAY_REF) { - new + new_tree = build_unary_op (INDIRECT_REF, NULL_TREE, build_component_ref (TREE_OPERAND (exp, 0), get_identifier ("P_ARRAY"), NULL_TREE, false)); - TREE_READONLY (new) = TREE_STATIC (new) = TREE_READONLY (exp); - return new; + TREE_READONLY (new_tree) = TREE_STATIC (new_tree) = TREE_READONLY (exp); + return new_tree; } else if (code == NULL_EXPR) @@ -4328,12 +4328,12 @@ it contains a template. */ if (TYPE_IS_PADDING_P (TREE_TYPE (exp))) { - new = convert (TREE_TYPE (TYPE_FIELDS (TREE_TYPE (exp))), exp); - if (TREE_CODE (TREE_TYPE (new)) == RECORD_TYPE - && TYPE_CONTAINS_TEMPLATE_P (TREE_TYPE (new))) + new_tree = convert (TREE_TYPE (TYPE_FIELDS (TREE_TYPE (exp))), exp); + if (TREE_CODE (TREE_TYPE (new_tree)) == RECORD_TYPE + && TYPE_CONTAINS_TEMPLATE_P (TREE_TYPE (new_tree))) return - build_component_ref (new, NULL_TREE, - TREE_CHAIN (TYPE_FIELDS (TREE_TYPE (new))), + build_component_ref (new_tree, NULL_TREE, + TREE_CHAIN (TYPE_FIELDS (TREE_TYPE (new_tree))), 0); } else if (TYPE_CONTAINS_TEMPLATE_P (TREE_TYPE (exp))) Index: gcc/ada/gcc-interface/decl.c =================================================================== --- gcc/ada/gcc-interface/decl.c (revision 148953) +++ gcc/ada/gcc-interface/decl.c (working copy) @@ -7788,7 +7788,7 @@ tree substitute_in_type (tree t, tree f, tree r) { - tree new; + tree new_tree; gcc_assert (CONTAINS_PLACEHOLDER_P (r)); @@ -7809,15 +7809,15 @@ if (low == TYPE_GCC_MIN_VALUE (t) && high == TYPE_GCC_MAX_VALUE (t)) return t; - new = copy_type (t); - TYPE_GCC_MIN_VALUE (new) = low; - TYPE_GCC_MAX_VALUE (new) = high; + new_tree = copy_type (t); + TYPE_GCC_MIN_VALUE (new_tree) = low; + TYPE_GCC_MAX_VALUE (new_tree) = high; if (TREE_CODE (t) == INTEGER_TYPE && TYPE_INDEX_TYPE (t)) SET_TYPE_INDEX_TYPE - (new, substitute_in_type (TYPE_INDEX_TYPE (t), f, r)); + (new_tree, substitute_in_type (TYPE_INDEX_TYPE (t), f, r)); - return new; + return new_tree; } /* Then the subtypes. */ @@ -7830,21 +7830,21 @@ if (low == TYPE_RM_MIN_VALUE (t) && high == TYPE_RM_MAX_VALUE (t)) return t; - new = copy_type (t); - SET_TYPE_RM_MIN_VALUE (new, low); - SET_TYPE_RM_MAX_VALUE (new, high); + new_tree = copy_type (t); + SET_TYPE_RM_MIN_VALUE (new_tree, low); + SET_TYPE_RM_MAX_VALUE (new_tree, high); - return new; + return new_tree; } return t; case COMPLEX_TYPE: - new = substitute_in_type (TREE_TYPE (t), f, r); - if (new == TREE_TYPE (t)) + new_tree = substitute_in_type (TREE_TYPE (t), f, r); + if (new_tree == TREE_TYPE (t)) return t; - return build_complex_type (new); + return build_complex_type (new_tree); case OFFSET_TYPE: case METHOD_TYPE: @@ -7861,16 +7861,16 @@ if (component == TREE_TYPE (t) && domain == TYPE_DOMAIN (t)) return t; - new = build_array_type (component, domain); - TYPE_ALIGN (new) = TYPE_ALIGN (t); - TYPE_USER_ALIGN (new) = TYPE_USER_ALIGN (t); - SET_TYPE_MODE (new, TYPE_MODE (t)); - TYPE_SIZE (new) = SUBSTITUTE_IN_EXPR (TYPE_SIZE (t), f, r); - TYPE_SIZE_UNIT (new) = SUBSTITUTE_IN_EXPR (TYPE_SIZE_UNIT (t), f, r); - TYPE_NONALIASED_COMPONENT (new) = TYPE_NONALIASED_COMPONENT (t); - TYPE_MULTI_ARRAY_P (new) = TYPE_MULTI_ARRAY_P (t); - TYPE_CONVENTION_FORTRAN_P (new) = TYPE_CONVENTION_FORTRAN_P (t); - return new; + new_tree = build_array_type (component, domain); + TYPE_ALIGN (new_tree) = TYPE_ALIGN (t); + TYPE_USER_ALIGN (new_tree) = TYPE_USER_ALIGN (t); + SET_TYPE_MODE (new_tree, TYPE_MODE (t)); + TYPE_SIZE (new_tree) = SUBSTITUTE_IN_EXPR (TYPE_SIZE (t), f, r); + TYPE_SIZE_UNIT (new_tree) = SUBSTITUTE_IN_EXPR (TYPE_SIZE_UNIT (t), f, r); + TYPE_NONALIASED_COMPONENT (new_tree) = TYPE_NONALIASED_COMPONENT (t); + TYPE_MULTI_ARRAY_P (new_tree) = TYPE_MULTI_ARRAY_P (t); + TYPE_CONVENTION_FORTRAN_P (new_tree) = TYPE_CONVENTION_FORTRAN_P (t); + return new_tree; } case RECORD_TYPE: @@ -7883,8 +7883,8 @@ /* Start out with no fields, make new fields, and chain them in. If we haven't actually changed the type of any field, discard everything we've done and return the old type. */ - new = copy_type (t); - TYPE_FIELDS (new) = NULL_TREE; + new_tree = copy_type (t); + TYPE_FIELDS (new_tree) = NULL_TREE; for (field = TYPE_FIELDS (t); field; field = TREE_CHAIN (field)) { @@ -7915,23 +7915,23 @@ } } - DECL_CONTEXT (new_field) = new; + DECL_CONTEXT (new_field) = new_tree; SET_DECL_ORIGINAL_FIELD (new_field, (DECL_ORIGINAL_FIELD (field) ? DECL_ORIGINAL_FIELD (field) : field)); - TREE_CHAIN (new_field) = TYPE_FIELDS (new); - TYPE_FIELDS (new) = new_field; + TREE_CHAIN (new_field) = TYPE_FIELDS (new_tree); + TYPE_FIELDS (new_tree) = new_field; } if (!changed_field) return t; - TYPE_FIELDS (new) = nreverse (TYPE_FIELDS (new)); - TYPE_SIZE (new) = SUBSTITUTE_IN_EXPR (TYPE_SIZE (t), f, r); - TYPE_SIZE_UNIT (new) = SUBSTITUTE_IN_EXPR (TYPE_SIZE_UNIT (t), f, r); - SET_TYPE_ADA_SIZE (new, SUBSTITUTE_IN_EXPR (TYPE_ADA_SIZE (t), f, r)); - return new; + TYPE_FIELDS (new_tree) = nreverse (TYPE_FIELDS (new_tree)); + TYPE_SIZE (new_tree) = SUBSTITUTE_IN_EXPR (TYPE_SIZE (t), f, r); + TYPE_SIZE_UNIT (new_tree) = SUBSTITUTE_IN_EXPR (TYPE_SIZE_UNIT (t), f, r); + SET_TYPE_ADA_SIZE (new_tree, SUBSTITUTE_IN_EXPR (TYPE_ADA_SIZE (t), f, r)); + return new_tree; } default: Index: gcc/ada/gcc-interface/trans.c =================================================================== --- gcc/ada/gcc-interface/trans.c (revision 148953) +++ gcc/ada/gcc-interface/trans.c (working copy) @@ -100,7 +100,7 @@ /* When not optimizing, we cache the 'First, 'Last and 'Length attributes of unconstrained array IN parameters to avoid emitting a great deal of redundant instructions to recompute them each time. */ -struct GTY (()) parm_attr { +struct GTY (()) parm_attr_d { int id; /* GTY doesn't like Entity_Id. */ int dim; tree first; @@ -108,7 +108,7 @@ tree length; }; -typedef struct parm_attr *parm_attr; +typedef struct parm_attr_d *parm_attr; DEF_VEC_P(parm_attr); DEF_VEC_ALLOC_P(parm_attr,gc); @@ -1464,7 +1464,7 @@ int Dimension = (Present (Expressions (gnat_node)) ? UI_To_Int (Intval (First (Expressions (gnat_node)))) : 1), i; - struct parm_attr *pa = NULL; + struct parm_attr_d *pa = NULL; Entity_Id gnat_param = Empty; /* Make sure any implicit dereference gets done. */ @@ -1508,7 +1508,7 @@ if (!pa) { - pa = GGC_CNEW (struct parm_attr); + pa = GGC_CNEW (struct parm_attr_d); pa->id = gnat_param; pa->dim = Dimension; VEC_safe_push (parm_attr, gc, f_parm_attr_cache, pa); @@ -2273,7 +2273,7 @@ cache = DECL_STRUCT_FUNCTION (gnu_subprog_decl)->language->parm_attr_cache; if (cache) { - struct parm_attr *pa; + struct parm_attr_d *pa; int i; start_stmt_group (); Index: gcc/ada/gcc-interface/misc.c =================================================================== --- gcc/ada/gcc-interface/misc.c (revision 148953) +++ gcc/ada/gcc-interface/misc.c (working copy) @@ -729,10 +729,11 @@ void enumerate_modes (void (*f) (int, int, int, int, int, int, unsigned int)) { - enum machine_mode i; + int iloop; - for (i = 0; i < NUM_MACHINE_MODES; i++) + for (iloop = 0; iloop < NUM_MACHINE_MODES; iloop++) { + enum machine_mode i = (enum machine_mode) iloop; enum machine_mode j; bool float_p = 0; bool complex_p = 0;