Hello!

Trivial and almost mechanical patch.

2014-12-31  Uros Bizjak  <ubiz...@gmail.com>

    * trans-array.c (trans_array_bound_check): Use xasprintf instead
    of unchecked asprintf.
    (gfc_conv_array_ref): Ditto.
    (gfc_conv_ss_startstride): Ditto.
    (gfc_trans_dummy_array_bias): Ditto.
    (gfc_conv_array_parameter): Ditto.
    * trans-decl.c (gfc_generate_function_code): Ditto.
    * trans-expr.c (gfc_conv_substring): Ditto.
    (gfc_conv_procedure_call): Ditto.
    * trans-io.c (gfc_trans_io_runtime_check): Ditto.
    (set_string): Ditto.
    * trans.c (trans-runtime_error_vararg): Ditto.

Bootstrapped and regression tested on x86_64-linux-gnu.

OK for mainline?

Uros.
Index: trans-array.c
===================================================================
--- trans-array.c       (revision 219123)
+++ trans-array.c       (working copy)
@@ -2799,11 +2799,11 @@ trans_array_bound_check (gfc_se * se, gfc_ss *ss,
       tmp_up = gfc_conv_array_ubound (descriptor, n);
 
       if (name)
-       asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                 "outside of expected range (%%ld:%%ld)", n+1, name);
+       msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                        "outside of expected range (%%ld:%%ld)", n+1, name);
       else
-       asprintf (&msg, "Index '%%ld' of dimension %d "
-                 "outside of expected range (%%ld:%%ld)", n+1);
+       msg = xasprintf ("Index '%%ld' of dimension %d "
+                        "outside of expected range (%%ld:%%ld)", n+1);
 
       fault = fold_build2_loc (input_location, LT_EXPR, boolean_type_node,
                               index, tmp_lo);
@@ -2824,11 +2824,11 @@ trans_array_bound_check (gfc_se * se, gfc_ss *ss,
       tmp_lo = gfc_conv_array_lbound (descriptor, n);
 
       if (name)
-       asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                 "below lower bound of %%ld", n+1, name);
+       msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                        "below lower bound of %%ld", n+1, name);
       else
-       asprintf (&msg, "Index '%%ld' of dimension %d "
-                 "below lower bound of %%ld", n+1);
+       msg = xasprintf ("Index '%%ld' of dimension %d "
+                        "below lower bound of %%ld", n+1);
 
       fault = fold_build2_loc (input_location, LT_EXPR, boolean_type_node,
                               index, tmp_lo);
@@ -3259,8 +3259,8 @@ gfc_conv_array_ref (gfc_se * se, gfc_array_ref * a
 
          cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node,
                                  indexse.expr, tmp);
-         asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                   "below lower bound of %%ld", n+1, var_name);
+         msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                          "below lower bound of %%ld", n+1, var_name);
          gfc_trans_runtime_check (true, false, cond, &se->pre, where, msg,
                                   fold_convert (long_integer_type_node,
                                                 indexse.expr),
@@ -3283,8 +3283,8 @@ gfc_conv_array_ref (gfc_se * se, gfc_array_ref * a
 
              cond = fold_build2_loc (input_location, GT_EXPR,
                                      boolean_type_node, indexse.expr, tmp);
-             asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                       "above upper bound of %%ld", n+1, var_name);
+             msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                              "above upper bound of %%ld", n+1, var_name);
              gfc_trans_runtime_check (true, false, cond, &se->pre, where, msg,
                                   fold_convert (long_integer_type_node,
                                                 indexse.expr),
@@ -3981,8 +3981,8 @@ done:
              /* Zero stride is not allowed.  */
              tmp = fold_build2_loc (input_location, EQ_EXPR, boolean_type_node,
                                     info->stride[dim], gfc_index_zero_node);
-             asprintf (&msg, "Zero stride is not allowed, for dimension %d "
-                       "of array '%s'", dim + 1, expr_name);
+             msg = xasprintf ("Zero stride is not allowed, for dimension %d "
+                              "of array '%s'", dim + 1, expr_name);
              gfc_trans_runtime_check (true, false, tmp, &inner,
                                       expr_loc, msg);
              free (msg);
@@ -4039,9 +4039,9 @@ done:
                  tmp2 = fold_build2_loc (input_location, TRUTH_AND_EXPR,
                                          boolean_type_node,
                                          non_zerosized, tmp2);
-                 asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                           "outside of expected range (%%ld:%%ld)",
-                           dim + 1, expr_name);
+                 msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                                  "outside of expected range (%%ld:%%ld)",
+                                  dim + 1, expr_name);
                  gfc_trans_runtime_check (true, false, tmp, &inner,
                                           expr_loc, msg,
                     fold_convert (long_integer_type_node, info->start[dim]),
@@ -4061,9 +4061,9 @@ done:
                                         info->start[dim], lbound);
                  tmp = fold_build2_loc (input_location, TRUTH_AND_EXPR,
                                         boolean_type_node, non_zerosized, tmp);
-                 asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                           "below lower bound of %%ld",
-                           dim + 1, expr_name);
+                 msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                                  "below lower bound of %%ld",
+                                  dim + 1, expr_name);
                  gfc_trans_runtime_check (true, false, tmp, &inner,
                                           expr_loc, msg,
                     fold_convert (long_integer_type_node, info->start[dim]),
@@ -4093,9 +4093,9 @@ done:
                                          boolean_type_node, tmp, ubound);
                  tmp3 = fold_build2_loc (input_location, TRUTH_AND_EXPR,
                                          boolean_type_node, non_zerosized, 
tmp3);
-                 asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                           "outside of expected range (%%ld:%%ld)",
-                           dim + 1, expr_name);
+                 msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                                  "outside of expected range (%%ld:%%ld)",
+                                  dim + 1, expr_name);
                  gfc_trans_runtime_check (true, false, tmp2, &inner,
                                           expr_loc, msg,
                     fold_convert (long_integer_type_node, tmp),
@@ -4110,9 +4110,9 @@ done:
                }
              else
                {
-                 asprintf (&msg, "Index '%%ld' of dimension %d of array '%s' "
-                           "below lower bound of %%ld",
-                           dim + 1, expr_name);
+                 msg = xasprintf ("Index '%%ld' of dimension %d of array '%s' "
+                                  "below lower bound of %%ld",
+                                  dim + 1, expr_name);
                  gfc_trans_runtime_check (true, false, tmp2, &inner,
                                           expr_loc, msg,
                     fold_convert (long_integer_type_node, tmp),
@@ -4139,9 +4139,9 @@ done:
                {
                  tmp3 = fold_build2_loc (input_location, NE_EXPR,
                                          boolean_type_node, tmp, size[n]);
-                 asprintf (&msg, "Array bound mismatch for dimension %d "
-                           "of array '%s' (%%ld/%%ld)",
-                           dim + 1, expr_name);
+                 msg = xasprintf ("Array bound mismatch for dimension %d "
+                                  "of array '%s' (%%ld/%%ld)",
+                                  dim + 1, expr_name);
 
                  gfc_trans_runtime_check (true, false, tmp3, &inner,
                                           expr_loc, msg,
@@ -6013,8 +6013,8 @@ gfc_trans_dummy_array_bias (gfc_symbol * sym, tree
                                         gfc_index_one_node, stride2);
              tmp = fold_build2_loc (input_location, NE_EXPR,
                                     gfc_array_index_type, temp, stride2);
-             asprintf (&msg, "Dimension %d of array '%s' has extent "
-                       "%%ld instead of %%ld", n+1, sym->name);
+             msg = xasprintf ("Dimension %d of array '%s' has extent "
+                              "%%ld instead of %%ld", n+1, sym->name);
 
              gfc_trans_runtime_check (true, false, tmp, &init, &loc, msg,
                        fold_convert (long_integer_type_node, temp),
@@ -7292,10 +7292,10 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr *
          char * msg;
 
          if (fsym && proc_name)
-           asprintf (&msg, "An array temporary was created for argument "
-                     "'%s' of procedure '%s'", fsym->name, proc_name);
+           msg = xasprintf ("An array temporary was created for argument "
+                            "'%s' of procedure '%s'", fsym->name, proc_name);
          else
-           asprintf (&msg, "An array temporary was created");
+           msg = xasprintf ("An array temporary was created");
 
          tmp = build_fold_indirect_ref_loc (input_location,
                                         desc);
Index: trans-decl.c
===================================================================
--- trans-decl.c        (revision 219123)
+++ trans-decl.c        (working copy)
@@ -5723,8 +5723,8 @@ gfc_generate_function_code (gfc_namespace * ns)
     {
       char * msg;
 
-      asprintf (&msg, "Recursive call to nonrecursive procedure '%s'",
-               sym->name);
+      msg = xasprintf ("Recursive call to nonrecursive procedure '%s'",
+                      sym->name);
       recurcheckvar = gfc_create_var (boolean_type_node, "is_recursive");
       TREE_STATIC (recurcheckvar) = 1;
       DECL_INITIAL (recurcheckvar) = boolean_false_node;
Index: trans-expr.c
===================================================================
--- trans-expr.c        (revision 219123)
+++ trans-expr.c        (working copy)
@@ -1799,11 +1799,11 @@ gfc_conv_substring (gfc_se * se, gfc_ref * ref, in
       fault = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR,
                               boolean_type_node, nonempty, fault);
       if (name)
-       asprintf (&msg, "Substring out of bounds: lower bound (%%ld) of '%s' "
-                 "is less than one", name);
+       msg = xasprintf ("Substring out of bounds: lower bound (%%ld) of '%s' "
+                        "is less than one", name);
       else
-       asprintf (&msg, "Substring out of bounds: lower bound (%%ld)"
-                 "is less than one");
+       msg = xasprintf ("Substring out of bounds: lower bound (%%ld)"
+                        "is less than one");
       gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg,
                               fold_convert (long_integer_type_node,
                                             start.expr));
@@ -1815,11 +1815,11 @@ gfc_conv_substring (gfc_se * se, gfc_ref * ref, in
       fault = fold_build2_loc (input_location, TRUTH_ANDIF_EXPR,
                               boolean_type_node, nonempty, fault);
       if (name)
-       asprintf (&msg, "Substring out of bounds: upper bound (%%ld) of '%s' "
-                 "exceeds string length (%%ld)", name);
+       msg = xasprintf ("Substring out of bounds: upper bound (%%ld) of '%s' "
+                        "exceeds string length (%%ld)", name);
       else
-       asprintf (&msg, "Substring out of bounds: upper bound (%%ld) "
-                 "exceeds string length (%%ld)");
+       msg = xasprintf ("Substring out of bounds: upper bound (%%ld) "
+                        "exceeds string length (%%ld)");
       gfc_trans_runtime_check (true, false, fault, &se->pre, where, msg,
                               fold_convert (long_integer_type_node, end.expr),
                               fold_convert (long_integer_type_node,
@@ -4930,18 +4930,19 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol *
 
              if (attr.allocatable
                  && (fsym == NULL || !fsym->attr.allocatable))
-               asprintf (&msg, "Allocatable actual argument '%s' is not "
-                         "allocated or not present", e->symtree->n.sym->name);
+               msg = xasprintf ("Allocatable actual argument '%s' is not "
+                                "allocated or not present",
+                                e->symtree->n.sym->name);
              else if (attr.pointer
                       && (fsym == NULL || !fsym->attr.pointer))
-               asprintf (&msg, "Pointer actual argument '%s' is not "
-                         "associated or not present",
-                         e->symtree->n.sym->name);
+               msg = xasprintf ("Pointer actual argument '%s' is not "
+                                "associated or not present",
+                                e->symtree->n.sym->name);
              else if (attr.proc_pointer
                       && (fsym == NULL || !fsym->attr.proc_pointer))
-               asprintf (&msg, "Proc-pointer actual argument '%s' is not "
-                         "associated or not present",
-                         e->symtree->n.sym->name);
+               msg = xasprintf ("Proc-pointer actual argument '%s' is not "
+                                "associated or not present",
+                                e->symtree->n.sym->name);
              else
                goto end_pointer_check;
 
@@ -4963,16 +4964,16 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol *
            {
              if (attr.allocatable
                  && (fsym == NULL || !fsym->attr.allocatable))
-               asprintf (&msg, "Allocatable actual argument '%s' is not "
-                     "allocated", e->symtree->n.sym->name);
+               msg = xasprintf ("Allocatable actual argument '%s' is not "
+                                "allocated", e->symtree->n.sym->name);
              else if (attr.pointer
                       && (fsym == NULL || !fsym->attr.pointer))
-               asprintf (&msg, "Pointer actual argument '%s' is not "
-                     "associated", e->symtree->n.sym->name);
+               msg = xasprintf ("Pointer actual argument '%s' is not "
+                                "associated", e->symtree->n.sym->name);
              else if (attr.proc_pointer
                       && (fsym == NULL || !fsym->attr.proc_pointer))
-               asprintf (&msg, "Proc-pointer actual argument '%s' is not "
-                     "associated", e->symtree->n.sym->name);
+               msg = xasprintf ("Proc-pointer actual argument '%s' is not "
+                                "associated", e->symtree->n.sym->name);
              else
                goto end_pointer_check;
 
Index: trans-io.c
===================================================================
--- trans-io.c  (revision 219123)
+++ trans-io.c  (working copy)
@@ -258,7 +258,7 @@ gfc_trans_io_runtime_check (bool has_iostat, tree
 
   arg2 = build_int_cst (integer_type_node, error_code),
 
-  asprintf (&message, "%s", _(msgid));
+  message = xasprintf ("%s", _(msgid));
   arg3 = gfc_build_addr_expr (pchar_type_node,
                              gfc_build_localized_cstring_const (message));
   free (message);
@@ -715,8 +715,8 @@ set_string (stmtblock_t * block, stmtblock_t * pos
       cond = fold_build2_loc (input_location, LT_EXPR, boolean_type_node,
                              tmp, build_int_cst (TREE_TYPE (tmp), 0));
 
-      asprintf(&msg, "Label assigned to variable '%s' (%%ld) is not a format "
-              "label", e->symtree->name);
+      msg = xasprintf ("Label assigned to variable '%s' (%%ld) is not a format 
"
+                      "label", e->symtree->name);
       gfc_trans_runtime_check (true, false, cond, &se.pre, &e->where, msg,
                               fold_convert (long_integer_type_node, tmp));
       free (msg);
Index: trans.c
===================================================================
--- trans.c     (revision 219123)
+++ trans.c     (working copy)
@@ -418,18 +418,18 @@ trans_runtime_error_vararg (bool error, locus* whe
   if (where)
     {
       line = LOCATION_LINE (where->lb->location);
-      asprintf (&message, "At line %d of file %s",  line,
-               where->lb->file->filename);
+      message = xasprintf ("At line %d of file %s",  line,
+                          where->lb->file->filename);
     }
   else
-    asprintf (&message, "In file '%s', around line %d",
-             gfc_source_file, LOCATION_LINE (input_location) + 1);
+    message = xasprintf ("In file '%s', around line %d",
+                        gfc_source_file, LOCATION_LINE (input_location) + 1);
 
   arg = gfc_build_addr_expr (pchar_type_node,
                             gfc_build_localized_cstring_const (message));
   free (message);
 
-  asprintf (&message, "%s", _(msgid));
+  message = xasprintf ("%s", _(msgid));
   arg2 = gfc_build_addr_expr (pchar_type_node,
                              gfc_build_localized_cstring_const (message));
   free (message);

Reply via email to