]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* call.c (build_call_n): Call XALLOCAVEC instead of alloca.
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Jun 2010 15:16:54 +0000 (15:16 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Jun 2010 15:16:54 +0000 (15:16 +0000)
(build_op_delete_call): Likewise.
(build_over_call): Likewise.
* cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
* pt.c (process_partial_specialization): Likewise.
(tsubst_template_args): Likewise.
* semantics.c (finish_asm_stmt): Likewise.

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

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-gimplify.c
gcc/cp/pt.c
gcc/cp/semantics.c

index 3bb19a09af086224e803bb4e875b21968fbbb26c..f9831421f38192212ff81595fbc53964b7491178 100644 (file)
@@ -1,3 +1,13 @@
+2010-06-09  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * call.c (build_call_n): Call XALLOCAVEC instead of alloca.
+       (build_op_delete_call): Likewise.
+       (build_over_call): Likewise.
+       * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
+       * pt.c (process_partial_specialization): Likewise.
+       (tsubst_template_args): Likewise.
+       * semantics.c (finish_asm_stmt): Likewise.
+
 2010-06-08  Nathan Sidwell  <nathan@codesourcery.com>
 
        * decl.c (record_key_method_defined): New, broken out of ...
index 03d188bab2e6a6d4ee627fcdd17b0b957d9dd56f..9162a1d83a5e15f156f2db56074def1740dc3635 100644 (file)
@@ -282,7 +282,7 @@ build_call_n (tree function, int n, ...)
     return build_call_a (function, 0, NULL);
   else
     {
-      tree *argarray = (tree *) alloca (n * sizeof (tree));
+      tree *argarray = XALLOCAVEC (tree, n);
       va_list ap;
       int i;
 
@@ -4756,7 +4756,7 @@ build_op_delete_call (enum tree_code code, tree addr, tree size,
          /* The placement args might not be suitable for overload
             resolution at this point, so build the call directly.  */
          int nargs = call_expr_nargs (placement);
-         tree *argarray = (tree *) alloca (nargs * sizeof (tree));
+         tree *argarray = XALLOCAVEC (tree, nargs);
          int i;
          argarray[0] = addr;
          for (i = 1; i < nargs; i++)
@@ -5624,7 +5624,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
   nargs = VEC_length (tree, args) + (first_arg != NULL_TREE ? 1 : 0);
   if (parmlen > nargs)
     nargs = parmlen;
-  argarray = (tree *) alloca (nargs * sizeof (tree));
+  argarray = XALLOCAVEC (tree, nargs);
 
   /* The implicit parameters to a constructor are not considered by overload
      resolution, and must be of the proper type.  */
index f45d714780fa6aeb1199ffb3f1c5c9939af16408..fb7daeb3e818b2275f22ed63ca2e3c749443e78d 100644 (file)
@@ -981,7 +981,7 @@ cxx_omp_clause_apply_fn (tree fn, tree arg1, tree arg2)
     return NULL;
 
   nargs = list_length (DECL_ARGUMENTS (fn));
-  argarray = (tree *) alloca (nargs * sizeof (tree));
+  argarray = XALLOCAVEC (tree, nargs);
 
   defparm = TREE_CHAIN (TYPE_ARG_TYPES (TREE_TYPE (fn)));
   if (arg2)
index 58b746fe16db827e746cf6c7767a1b535e4086ca..69216cf6e439593959e914e1d7e3339e74cf7c6e 100644 (file)
@@ -3875,10 +3875,10 @@ process_partial_specialization (tree decl)
 
      or some such would have been OK.  */
   tpd.level = TMPL_PARMS_DEPTH (current_template_parms);
-  tpd.parms = (int *) alloca (sizeof (int) * ntparms);
+  tpd.parms = XALLOCAVEC (int, ntparms);
   memset (tpd.parms, 0, sizeof (int) * ntparms);
 
-  tpd.arg_uses_template_parms = (int *) alloca (sizeof (int) * nargs);
+  tpd.arg_uses_template_parms = XALLOCAVEC (int, nargs);
   memset (tpd.arg_uses_template_parms, 0, sizeof (int) * nargs);
   for (i = 0; i < nargs; ++i)
     {
@@ -3993,12 +3993,11 @@ process_partial_specialization (tree decl)
                   if (!tpd2.parms)
                     {
                       /* We haven't yet initialized TPD2.  Do so now.  */
-                      tpd2.arg_uses_template_parms 
-                        = (int *) alloca (sizeof (int) * nargs);
+                      tpd2.arg_uses_template_parms = XALLOCAVEC (int, nargs);
                       /* The number of parameters here is the number in the
                          main template, which, as checked in the assertion
                          above, is NARGS.  */
-                      tpd2.parms = (int *) alloca (sizeof (int) * nargs);
+                      tpd2.parms = XALLOCAVEC (int, nargs);
                       tpd2.level = 
                         TMPL_PARMS_DEPTH (DECL_TEMPLATE_PARMS (maintmpl));
                     }
@@ -8525,7 +8524,7 @@ tsubst_template_args (tree t, tree args, tsubst_flags_t complain, tree in_decl)
   tree orig_t = t;
   int len = TREE_VEC_LENGTH (t);
   int need_new = 0, i, expanded_len_adjust = 0, out;
-  tree *elts = (tree *) alloca (len * sizeof (tree));
+  tree *elts = XALLOCAVEC (tree, len);
 
   for (i = 0; i < len; i++)
     {
index 3e75240d0346b9cf2382e41f448ed5e807f9de90..8eb533614e09b3f74173d0642724985093f101a2 100644 (file)
@@ -1219,7 +1219,7 @@ finish_asm_stmt (int volatile_p, tree string, tree output_operands,
       tree operand;
       int i;
 
-      oconstraints = (const char **) alloca (noutputs * sizeof (char *));
+      oconstraints = XALLOCAVEC (const char *, noutputs);
 
       string = resolve_asm_operand_names (string, output_operands,
                                          input_operands, labels);