resolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_type) in the full array...
* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_type) in the full array ref case. From-SVN: r179685
This commit is contained in:
parent
9b701a45c0
commit
5551a54eda
|
@ -1,3 +1,8 @@
|
|||
2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
|
||||
|
||||
* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
|
||||
associated dimen_type) in the full array ref case.
|
||||
|
||||
2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
|
||||
|
||||
* trans-intrinsic.c (walk_coarray): New function.
|
||||
|
|
|
@ -4644,9 +4644,24 @@ resolve_array_ref (gfc_array_ref *ar)
|
|||
}
|
||||
}
|
||||
|
||||
if (ar->type == AR_FULL && ar->as->rank == 0)
|
||||
if (ar->type == AR_FULL)
|
||||
{
|
||||
if (ar->as->rank == 0)
|
||||
ar->type = AR_ELEMENT;
|
||||
|
||||
/* Make sure array is the same as array(:,:), this way
|
||||
we don't need to special case all the time. */
|
||||
ar->dimen = ar->as->rank;
|
||||
for (i = 0; i < ar->dimen; i++)
|
||||
{
|
||||
ar->dimen_type[i] = DIMEN_RANGE;
|
||||
|
||||
gcc_assert (ar->start[i] == NULL);
|
||||
gcc_assert (ar->end[i] == NULL);
|
||||
gcc_assert (ar->stride[i] == NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/* If the reference type is unknown, figure out what kind it is. */
|
||||
|
||||
if (ar->type == AR_UNKNOWN)
|
||||
|
|
Loading…
Reference in New Issue