diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-01-25 07:59:21 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-01-25 07:59:21 +0100 |
commit | 083dd940dcb2169786fbd523059e8c7f41093812 (patch) | |
tree | 8adc73a26009f770be87bc669b8215fa124f5621 /gcc/fortran/resolve.c | |
parent | d2bb8192ee35dfe3388c8cad3fc8b66a94c676d0 (diff) | |
download | gcc-083dd940dcb2169786fbd523059e8c7f41093812.zip gcc-083dd940dcb2169786fbd523059e8c7f41093812.tar.gz gcc-083dd940dcb2169786fbd523059e8c7f41093812.tar.bz2 |
re PR fortran/51966 (ICE in gfc_conv_array_constructor_expr)
2012-01-24 Tobias Burnus <burnus@net-b.de>
PR fortran/51966
* resolve.c (resolve_structure_cons): Only create an
array constructors for nonscalars.
2012-01-24 Tobias Burnus <burnus@net-b.de>
PR fortran/51966
* gfortran.dg/derived_constructor_char_3.f90: New.
From-SVN: r183510
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index c169b9e..b24399d 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1051,6 +1051,7 @@ resolve_structure_cons (gfc_expr *expr, int init) && comp->ts.u.cl->length->expr_type == EXPR_CONSTANT && cons->expr->ts.u.cl && cons->expr->ts.u.cl->length && cons->expr->ts.u.cl->length->expr_type == EXPR_CONSTANT + && cons->expr->rank != 0 && mpz_cmp (cons->expr->ts.u.cl->length->value.integer, comp->ts.u.cl->length->value.integer) != 0) { |