re PR fortran/64674 ([OOP] ICE in ASSOCIATE with class array)
authorAndre Vehreschild <vehre@gmx.de>
Tue, 23 Jun 2015 09:07:22 +0000 (11:07 +0200)
committerAndre Vehreschild <vehre@gcc.gnu.org>
Tue, 23 Jun 2015 09:07:22 +0000 (11:07 +0200)
commit76540ac3e39cd58b0b0084f1f1b4fd0ea3c122b1
tree9c5390ba13cb036568b057572fb5b757c5d0bdb1
parentbcd119b7a308c3e89af4fbdaa30d45a146194235
re PR fortran/64674 ([OOP] ICE in ASSOCIATE with class array)

gcc/fortran/ChangeLog:

2015-06-23  Andre Vehreschild  <vehre@gmx.de>

PR fortran/64674
* parse.c (parse_associate): Figure the rank and as of a
class array in an associate early.
* primary.c (gfc_match_varspec): Prevent setting the
dimension attribute on the sym for classes.
* resolve.c (resolve_variable): Correct the component
ref's type for associated variables.  Add a full array ref
when class array's are associated.
(resolve_assoc_var): Correct the type of the symbol,
when in the associate the expression's rank becomes scalar.
* trans-expr.c (gfc_conv_variable): Indirect ref needed for
allocatable associated objects.

gcc/testsuite/ChangeLog:

2015-06-23  Andre Vehreschild  <vehre@gmx.de>

PR fortran/64674
* gfortran.dg/associate_18.f08: New test.

From-SVN: r224827
gcc/fortran/ChangeLog
gcc/fortran/parse.c
gcc/fortran/primary.c
gcc/fortran/resolve.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/associate_18.f08 [new file with mode: 0644]