diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-08-17 21:08:49 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-08-17 21:08:49 +0200 |
commit | 3a146d46ce1d0977776ab2c1147c707796565ddd (patch) | |
tree | 9b4f7090bbebc0c2c8cc92cffdd826a50a0c326b /gcc/fortran/trans-array.c | |
parent | e30c6e0c145c7fb6ed6efc06044a1ee86878dd11 (diff) | |
download | gcc-3a146d46ce1d0977776ab2c1147c707796565ddd.zip gcc-3a146d46ce1d0977776ab2c1147c707796565ddd.tar.gz gcc-3a146d46ce1d0977776ab2c1147c707796565ddd.tar.bz2 |
re PR fortran/67496 (trans-array.c sanitizer runtime error: load of value 124, which is not a valid value for type 'bool')
PR fortran/67496
* trans-array.c (trans_array_constructor): Load
expr->ts.u.cl->length_from_typespec only if expr->ts.type is
BT_CHARACTER.
* gfortran.dg/pr67496.f90: New test.
From-SVN: r239544
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index bd232c2..2699a76 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -2239,7 +2239,8 @@ trans_array_constructor (gfc_ss * ss, locus * where) /* Do bounds-checking here and in gfc_trans_array_ctor_element only if no typespec was given for the array constructor. */ - typespec_chararray_ctor = (expr->ts.u.cl + typespec_chararray_ctor = (expr->ts.type == BT_CHARACTER + && expr->ts.u.cl && expr->ts.u.cl->length_from_typespec); if ((gfc_option.rtcheck & GFC_RTCHECK_BOUNDS) |