From: Mikael Morin Date: Wed, 6 Oct 2010 15:29:46 +0000 (+0000) Subject: array.c (gfc_match_array_spec): Don't re-initialize cleared struct. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=40a33e3f4b6173b8e2491cdecc77e94d858ba547;p=gcc.git array.c (gfc_match_array_spec): Don't re-initialize cleared struct. 2010-10-06 Mikael Morin * array.c (gfc_match_array_spec): Don't re-initialize cleared struct. * symbol.c (gen_shape_param): Ditto. From-SVN: r165039 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 80b013f7c74..63a818c0dd7 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2010-10-06 Mikael Morin + + * array.c (gfc_match_array_spec): Don't re-initialize cleared struct. + * symbol.c (gen_shape_param): Ditto. + 2010-10-06 Mikael Morin * symbol.c (free_entry_list): New function. diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index a26be7891de..8c74e709f3d 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/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/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index b900bc19725..93199cf7089 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -3968,7 +3968,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; @@ -3994,15 +3993,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);