aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2010-07-06 22:56:07 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2010-07-06 22:56:07 +0200
commit928f04908265767255978321f42e9b2957bcb2f4 (patch)
treeb8fbc94bf1493b37215f6ba423694942689b25f4 /gcc/fortran/expr.c
parentc829d0163dc338b0c12d27c6e7aedb6da5f7f4c5 (diff)
downloadgcc-928f04908265767255978321f42e9b2957bcb2f4.zip
gcc-928f04908265767255978321f42e9b2957bcb2f4.tar.gz
gcc-928f04908265767255978321f42e9b2957bcb2f4.tar.bz2
re PR fortran/44742 (ICE in gfc_conv_array_initializer)
2010-07-06 Tobias Burnus <burnus@net-b.de> PR fortran/44742 * array.c (gfc_expand_constructor): Add optional diagnostic. * gfortran.h (gfc_expand_constructor): Update prototype. * expr.c (gfc_simplify_expr, check_init_expr, gfc_reduce_init_expr): Update gfc_expand_constructor call. * resolve.c (gfc_resolve_expr): Ditto. 2010-07-06 Tobias Burnus <burnus@net-b.de> PR fortran/44742 * gfortran.dg/parameter_array_init_6.f90: New. * gfortran.dg/initialization_20.f90: Update dg-error. * gfortran.dg/initialization_24.f90: Ditto. From-SVN: r161888
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index c876fdd..12a46a9 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -1894,7 +1894,7 @@ gfc_simplify_expr (gfc_expr *p, int type)
if (p->expr_type == EXPR_ARRAY && p->ref && p->ref->type == REF_ARRAY
&& p->ref->u.ar.type == AR_FULL)
- gfc_expand_constructor (p);
+ gfc_expand_constructor (p, false);
if (simplify_const_ref (p) == FAILURE)
return FAILURE;
@@ -2573,7 +2573,7 @@ check_init_expr (gfc_expr *e)
if (t == FAILURE)
break;
- t = gfc_expand_constructor (e);
+ t = gfc_expand_constructor (e, true);
if (t == FAILURE)
break;
@@ -2609,7 +2609,7 @@ gfc_reduce_init_expr (gfc_expr *expr)
{
if (gfc_check_constructor_type (expr) == FAILURE)
return FAILURE;
- if (gfc_expand_constructor (expr) == FAILURE)
+ if (gfc_expand_constructor (expr, true) == FAILURE)
return FAILURE;
}