Patchwork [fortran,13/22] Various minor fixups

login
register
mail settings
Submitter Mikael Morin
Date Oct. 5, 2010, 10:11 a.m.
Message ID <20101005100948.1836.81995@gimli.local>
Download mbox | patch
Permalink /patch/66808/
State New
Headers show

Comments

Mikael Morin - Oct. 5, 2010, 10:11 a.m.
There is no need to clear the lower and upper bounds of gfc_get_array_spec as gfc_get_array_spec returns a cleared struct (and this is not likely to change in the foreseeable future).
2010-10-04  Mikael Morin  <mikael@gcc.gnu.org>

	* array.c (gfc_match_array_spec): Don't re-initialize cleared struct.
	* symbol.c (gen_shape_param): Ditto.

Patch

diff --git a/array.c b/array.c
index a26be78..8c74e70 100644
--- a/array.c
+++ b/array.c
@@ -437,16 +437,8 @@  gfc_match_array_spec (gfc_array_spec **asp, bool match_dim, bool match_codim)
   array_type current_type;
   gfc_array_spec *as;
   int i;
- 
-  as = gfc_get_array_spec ();
-  as->corank = 0;
-  as->rank = 0;
 
-  for (i = 0; i < GFC_MAX_DIMENSIONS; i++)
-    {
-      as->lower[i] = NULL;
-      as->upper[i] = NULL;
-    }
+  as = gfc_get_array_spec ();
 
   if (!match_dim)
     goto coarray;
diff --git a/symbol.c b/symbol.c
index cd07b63..aff650c 100644
--- a/symbol.c
+++ b/symbol.c
@@ -3948,7 +3948,6 @@  gen_shape_param (gfc_formal_arglist **head,
   gfc_symtree *param_symtree = NULL;
   gfc_formal_arglist *formal_arg = NULL;
   const char *shape_param = "gfc_shape_array__";
-  int i;
 
   if (shape_param_name != NULL)
     shape_param = shape_param_name;
@@ -3974,15 +3973,9 @@  gen_shape_param (gfc_formal_arglist **head,
   /* Initialize the kind to default integer.  However, it will be overridden
      during resolution to match the kind of the SHAPE parameter given as
      the actual argument (to allow for any valid integer kind).  */
-  param_sym->ts.kind = gfc_default_integer_kind;   
+  param_sym->ts.kind = gfc_default_integer_kind;
   param_sym->as = gfc_get_array_spec ();
 
-  /* Clear out the dimension info for the array.  */
-  for (i = 0; i < GFC_MAX_DIMENSIONS; i++)
-    {
-      param_sym->as->lower[i] = NULL;
-      param_sym->as->upper[i] = NULL;
-    }
   param_sym->as->rank = 1;
   param_sym->as->lower[0] = gfc_get_int_expr (gfc_default_integer_kind,
 					      NULL, 1);