diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2011-10-18 14:55:48 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2011-10-18 14:55:48 +0000 |
commit | 6b81e94de1454dbe12edac8ba9192b8da01783e8 (patch) | |
tree | fd31db403bdf8599be5ff9f3971441afedbe32e5 | |
parent | 42ac5ee1287b6c9931a7e67c96f05fffb9b5b022 (diff) | |
download | gcc-6b81e94de1454dbe12edac8ba9192b8da01783e8.zip gcc-6b81e94de1454dbe12edac8ba9192b8da01783e8.tar.gz gcc-6b81e94de1454dbe12edac8ba9192b8da01783e8.tar.bz2 |
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
PR fortran/50420
* trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
if they are coarrays.
From-SVN: r180145
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-array.c | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 67e2bcf..b1b0407 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 2011-10-18 Mikael Morin <mikael@gcc.gnu.org> + PR fortran/50420 + * trans-array.c (gfc_walk_array_ref): Allow zero rank arrays + if they are coarrays. + +2011-10-18 Mikael Morin <mikael@gcc.gnu.org> + * trans-array.h (gfc_walk_array_ref): New prototype. * trans-array.c (gfc_walk_array_ref): New function, containing all but the beginning of gfc_walk_variable_expr's code. diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 89528b4..3472804 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -7700,8 +7700,10 @@ gfc_walk_array_ref (gfc_ss * ss, gfc_expr * expr, gfc_ref * ref) gcc_unreachable (); } } - /* We should have at least one non-elemental dimension. */ - gcc_assert (newss->data.info.dimen > 0); + /* We should have at least one non-elemental dimension, + unless we are creating a descriptor for a (scalar) coarray. */ + gcc_assert (newss->data.info.dimen > 0 + || newss->data.info.ref->u.ar.as->corank > 0); ss = newss; break; |