OSDN Git Service

* gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 7 Aug 2010 21:12:32 +0000 (21:12 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 7 Aug 2010 21:12:32 +0000 (21:12 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162985 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils.c

index 30c75b9..b03fe57 100644 (file)
@@ -1,5 +1,15 @@
 2010-08-07  Nathan Froyd  <froydnj@codesourcery.com>
 
+       * 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  <froydnj@codesourcery.com>
+
        * gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
        (build_subst_list): Return a VEC instead of a tree.
        (build_variant_list): Take a VEC for subst_list.  Adjust
index a9e3358..b63a620 100644 (file)
@@ -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;
index 4bf8947..5abc562 100644 (file)
@@ -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))
            {
index eed426a..381d71b 100644 (file)
@@ -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))