From 40a33e3f4b6173b8e2491cdecc77e94d858ba547 Mon Sep 17 00:00:00 2001 From: Mikael Morin Date: Wed, 6 Oct 2010 15:29:46 +0000 Subject: [PATCH] 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 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/array.c | 10 +--------- gcc/fortran/symbol.c | 9 +-------- 3 files changed, 7 insertions(+), 17 deletions(-) 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); -- 2.30.2