diff options
author | Laurent GUERBY <laurent@guerby.net> | 2009-06-26 17:06:52 +0000 |
---|---|---|
committer | Laurent Guerby <guerby@gcc.gnu.org> | 2009-06-26 17:06:52 +0000 |
commit | 6bf68a93f60cf873c4a0713bb11480d838fb5af0 (patch) | |
tree | 20d7a88e927511698c3d4b43e91c0b3cffcf82ad | |
parent | bae4cf874ea098e56b8dc9ab755eb1669b749aeb (diff) | |
download | gcc-6bf68a93f60cf873c4a0713bb11480d838fb5af0.zip gcc-6bf68a93f60cf873c4a0713bb11480d838fb5af0.tar.gz gcc-6bf68a93f60cf873c4a0713bb11480d838fb5af0.tar.bz2 |
tb-gcc.c (trace_callback): Use char* instead of void*.
2009-06-26 Laurent GUERBY <laurent@guerby.net>
* tb-gcc.c (trace_callback): Use char* instead of void*.
* gcc-interface/misc.c (enumerate_modes): Make loop compatible
with C++.
* gcc-interface/trans.c (parm_attr): Rename to parm_attr_d.
Change all uses.
* gcc-interface/utils.c (new, class, template): Rename to be
compatible with C++. Change all uses.
* gcc-interface/decl.c (new): Likewise.
From-SVN: r148975
-rw-r--r-- | gcc/ada/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 66 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 5 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 10 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/utils.c | 152 | ||||
-rw-r--r-- | gcc/ada/tb-gcc.c | 4 |
6 files changed, 130 insertions, 118 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index bf1d3c6..f4b7074 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,14 @@ +2009-06-26 Laurent GUERBY <laurent@guerby.net> + + * tb-gcc.c (trace_callback): Use char* instead of void*. + * gcc-interface/misc.c (enumerate_modes): Make loop compatible + with C++. + * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d. + Change all uses. + * gcc-interface/utils.c (new, class, template): Rename to be + compatible with C++. Change all uses. + * gcc-interface/decl.c (new): Likewise. + 2009-06-26 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (cannot_be_superflat_p): New predicate. diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index b4e3a4e..a5c6845 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -7840,7 +7840,7 @@ compatible_signatures_p (tree ftype1, tree ftype2) tree substitute_in_type (tree t, tree f, tree r) { - tree new; + tree new_tree; gcc_assert (CONTAINS_PLACEHOLDER_P (r)); @@ -7861,15 +7861,15 @@ substitute_in_type (tree t, tree f, tree r) 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. */ @@ -7882,21 +7882,21 @@ substitute_in_type (tree t, tree f, tree r) 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: @@ -7913,16 +7913,16 @@ substitute_in_type (tree t, tree f, tree r) 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: @@ -7935,8 +7935,8 @@ substitute_in_type (tree t, tree f, tree r) /* 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)) { @@ -7967,23 +7967,23 @@ substitute_in_type (tree t, tree f, tree r) } } - 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: diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 63d7805..fb30620 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -729,10 +729,11 @@ must_pass_by_ref (tree gnu_type) 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; diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index c4b095b..24163b8 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -100,7 +100,7 @@ bool type_annotate_only; /* 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 @@ struct GTY (()) parm_attr { 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 @@ Attribute_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, int attribute) 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 @@ Attribute_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, int attribute) 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); @@ -2268,7 +2268,7 @@ Subprogram_Body_to_gnu (Node_Id gnat_node) 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 (); diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index ea3f736..7734fdd 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -1017,33 +1017,33 @@ merge_sizes (tree last_size, tree first_bit, tree size, bool special, 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 @@ -1163,18 +1163,18 @@ create_subprog_type (tree return_type, tree param_decl_list, tree cico_list, 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 @@ -2515,7 +2515,7 @@ build_vms_descriptor32 (tree type, Mechanism_Type mech, Entity_Id gnat_entity) 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; @@ -2627,22 +2627,22 @@ build_vms_descriptor32 (tree type, Mechanism_Type mech, Entity_Id gnat_entity) { 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; } @@ -2664,7 +2664,7 @@ build_vms_descriptor32 (tree type, Mechanism_Type mech, Entity_Id gnat_entity) 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. */ @@ -2830,7 +2830,7 @@ build_vms_descriptor (tree type, Mechanism_Type mech, Entity_Id gnat_entity) 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; @@ -2941,18 +2941,18 @@ build_vms_descriptor (tree type, Mechanism_Type mech, Entity_Id gnat_entity) 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; } @@ -2971,7 +2971,7 @@ build_vms_descriptor (tree type, Mechanism_Type mech, Entity_Id gnat_entity) 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", @@ -3154,9 +3154,9 @@ convert_vms_descriptor64 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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 @@ -3172,9 +3172,9 @@ convert_vms_descriptor64 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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. */ @@ -3185,23 +3185,23 @@ convert_vms_descriptor64 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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 @@ -3219,12 +3219,12 @@ convert_vms_descriptor64 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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; @@ -3266,12 +3266,12 @@ convert_vms_descriptor64 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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 */ @@ -3302,9 +3302,9 @@ convert_vms_descriptor32 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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 @@ -3320,9 +3320,9 @@ convert_vms_descriptor32 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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); @@ -3339,25 +3339,25 @@ convert_vms_descriptor32 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) 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; @@ -3384,12 +3384,12 @@ convert_vms_descriptor32 (tree gnu_type, tree gnu_expr, Entity_Id gnat_subprog) /* 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 */ @@ -3720,7 +3720,7 @@ convert_to_fat_pointer (tree type, tree expr) 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. */ @@ -3746,7 +3746,7 @@ convert_to_fat_pointer (tree type, tree expr) 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)); @@ -3754,7 +3754,7 @@ convert_to_fat_pointer (tree type, tree expr) /* 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. @@ -3774,7 +3774,7 @@ convert_to_fat_pointer (tree type, tree expr) 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))); } @@ -4304,20 +4304,20 @@ tree 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) @@ -4331,12 +4331,12 @@ maybe_unconstrained_array (tree exp) 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))) diff --git a/gcc/ada/tb-gcc.c b/gcc/ada/tb-gcc.c index d0b12c7..f4d5b12 100644 --- a/gcc/ada/tb-gcc.c +++ b/gcc/ada/tb-gcc.c @@ -64,13 +64,13 @@ typedef struct { 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) |