From 2bb1fc26a11e2ca13ef8e6a42ea31f63182b0562 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Sat, 7 Aug 2010 21:12:32 +0000 Subject: [PATCH] decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead of alloca. * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead of alloca. (components_to_record): Likewise. * gcc-interface/trans.c (gnat_to_gnu): Likewise. * gcc-interface/utils.c (max_size): Likewise. (build_vms_descriptor32): Likewise. (build_vms_descriptor): Likewise. From-SVN: r162985 --- gcc/ada/ChangeLog | 10 ++++++++++ gcc/ada/gcc-interface/decl.c | 8 ++++---- gcc/ada/gcc-interface/trans.c | 5 ++--- gcc/ada/gcc-interface/utils.c | 6 +++--- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 30c75b915a5..b03fe575347 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,13 @@ +2010-08-07 Nathan Froyd + + * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead + of alloca. + (components_to_record): Likewise. + * gcc-interface/trans.c (gnat_to_gnu): Likewise. + * gcc-interface/utils.c (max_size): Likewise. + (build_vms_descriptor32): Likewise. + (build_vms_descriptor): Likewise. + 2010-08-07 Nathan Froyd * gcc-interface/decl.c (subst_pair): Declare. Declare a VEC of it. diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index a9e3358a478..b63a6203b2d 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -1856,8 +1856,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) tree gnu_template_reference; tree gnu_ptr_template = build_pointer_type (gnu_template_type); tree gnu_fat_type = make_node (RECORD_TYPE); - tree *gnu_index_types = (tree *) alloca (ndim * sizeof (tree)); - tree *gnu_temp_fields = (tree *) alloca (ndim * sizeof (tree)); + tree *gnu_index_types = XALLOCAVEC (tree, ndim); + tree *gnu_temp_fields = XALLOCAVEC (tree, ndim); tree gnu_max_size = size_one_node, gnu_max_size_unit, tem; int index; @@ -2127,7 +2127,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) = (Convention (gnat_entity) == Convention_Fortran); const int ndim = Number_Dimensions (gnat_entity); tree gnu_base_type = gnu_type; - tree *gnu_index_types = (tree *) alloca (ndim * sizeof (tree)); + tree *gnu_index_types = XALLOCAVEC (tree, ndim); tree gnu_max_size = size_one_node, gnu_max_size_unit; bool need_index_type_struct = false; int index; @@ -7161,7 +7161,7 @@ components_to_record (tree gnu_record_type, Node_Id gnat_component_list, tree gnu_rep_type = (gnu_field_list ? make_node (RECORD_TYPE) : gnu_record_type); int i, len = list_length (gnu_our_rep_list); - tree *gnu_arr = (tree *) alloca (sizeof (tree) * len); + tree *gnu_arr = XALLOCAVEC (tree, len); for (gnu_field = gnu_our_rep_list, i = 0; gnu_field; diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 4bf89477d0d..5abc5624551 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -4099,7 +4099,7 @@ gnat_to_gnu (Node_Id gnat_node) ndim++, gnu_type = TREE_TYPE (gnu_type)) ; - gnat_expr_array = (Node_Id *) alloca (ndim * sizeof (Node_Id)); + gnat_expr_array = XALLOCAVEC (Node_Id, ndim); if (TYPE_CONVENTION_FORTRAN_P (TREE_TYPE (gnu_array_object))) for (i = ndim - 1, gnat_temp = First (Expressions (gnat_node)); @@ -5267,8 +5267,7 @@ gnat_to_gnu (Node_Id gnat_node) noutputs = list_length (gnu_outputs); gnu_inputs = nreverse (gnu_inputs); ninputs = list_length (gnu_inputs); - oconstraints - = (const char **) alloca (noutputs * sizeof (const char *)); + oconstraints = XALLOCAVEC (const char *, noutputs); for (i = 0, tail = gnu_outputs; tail; ++i, tail = TREE_CHAIN (tail)) { diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c index eed426a3cd8..381d71bcc2a 100644 --- a/gcc/ada/gcc-interface/utils.c +++ b/gcc/ada/gcc-interface/utils.c @@ -2134,7 +2134,7 @@ max_size (tree exp, bool max_p) n = call_expr_nargs (exp); gcc_assert (n > 0); - argarray = (tree *) alloca (n * sizeof (tree)); + argarray = XALLOCAVEC (tree, n); for (i = 0; i < n; i++) argarray[i] = max_size (CALL_EXPR_ARG (exp, i), max_p); return build_call_array (type, CALL_EXPR_FN (exp), n, argarray); @@ -2317,7 +2317,7 @@ build_vms_descriptor32 (tree type, Mechanism_Type mech, Entity_Id gnat_entity) ndim++, inner_type = TREE_TYPE (inner_type)) ; - idx_arr = (tree *) alloca (ndim * sizeof (tree)); + idx_arr = XALLOCAVEC (tree, ndim); if (mech != By_Descriptor_NCA && mech != By_Short_Descriptor_NCA && TREE_CODE (type) == ARRAY_TYPE && TYPE_CONVENTION_FORTRAN_P (type)) @@ -2631,7 +2631,7 @@ build_vms_descriptor (tree type, Mechanism_Type mech, Entity_Id gnat_entity) ndim++, inner_type = TREE_TYPE (inner_type)) ; - idx_arr = (tree *) alloca (ndim * sizeof (tree)); + idx_arr = XALLOCAVEC (tree, ndim); if (mech != By_Descriptor_NCA && TREE_CODE (type) == ARRAY_TYPE && TYPE_CONVENTION_FORTRAN_P (type))