http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51383
Bug #: 51383 Summary: arrays of extended types interact break associations with arrays Classification: Unclassified Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: kaiserkar...@yahoo.com An ASSOCIATE block that associates a name with an array of derived types causes a compiler error. It is easily reproduced with the following short program: program extend type :: a integer :: i end type a type, extends (a) :: b integer :: j end type b type (a) :: x(2) type (b) :: y(2) associate (x1 => x, y1 => y) x1(1)%i = 1 ! Commenting out the following line will avoid the error y1(1)%i = 2 end associate end program extend In my version, I get the following error: ## start error message ## associate.f90:1.14: program extend 1 Internal Error at (1): find_array_spec(): Component not found ## end error message ## This example is trivial, of course (just use y instead of y1 and all is well), but if the association is something like associate (y1 => really_long%complicated(3)%variable(2)%array) it becomes more than a triviality.... As can be seen from the example above, this bug does not occur for "normal" derived types, only ones created with the EXTENDS key word.