diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 592d37b02d6c1f5b17611f9eb89d8e3882eac37a..33afd97171d7b4317ec867ccfe206b0eb85448d7 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2010-09-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/45793 + * module.c (create_int_parameter_array): Set the array value shape. + 2010-09-25 Tobias Burnus <burnus@net-b.de> * gfortran.texi: Re-add accidently removed \input line. diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index d4824a73da11c16da963b78bbec2136a22e22905..5c1e5c79276ca6e4c9c6383ec507fdce710d5376 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -5305,7 +5305,8 @@ create_int_parameter (const char *name, int value, const char *modname, } -/* Value is already contained the array constructor, but not yet the shape. */ +/* Value is already contained by the array constructor, but not + yet the shape. */ static void create_int_parameter_array (const char *name, int size, gfc_expr *value, @@ -5313,7 +5314,6 @@ create_int_parameter_array (const char *name, int size, gfc_expr *value, { gfc_symtree *tmp_symtree; gfc_symbol *sym; - gfc_expr *e; tmp_symtree = gfc_find_symtree (gfc_current_ns->sym_root, name); if (tmp_symtree != NULL) @@ -5342,8 +5342,8 @@ create_int_parameter_array (const char *name, int size, gfc_expr *value, sym->as->upper[0] = gfc_get_int_expr (gfc_default_integer_kind, NULL, size); sym->value = value; - e->shape = gfc_get_shape (1); - mpz_init_set_ui (e->shape[0], size); + sym->value->shape = gfc_get_shape (1); + mpz_init_set_ui (sym->value->shape[0], size); }