http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58339
Bug ID: 58339 Summary: ASSOCIATE construct to arrays: Wrong results (pointer to array/array descriptor issue?) Product: gcc Version: 4.9.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org >From Arjen Markus, posted at https://groups.google.com/forum/#!topic/comp.lang.fortran/IMON4ZcWlCk The following program should print 1.0 0.0 2.0 0.0 etc. - and it does so with Cray ftn, pgf95 and ifort, but with gfortran, the output is mangled. I am suspicious that it will require the new array descriptor (i.e. non-element-based strides) but I might be wrong. Possibly related to PR 58085. program assoc implicit none type point real :: x, y end type point type(point), dimension(10) :: array !real, dimension(:), pointer :: x associate( x => array%x, y => array%y ) x = (/ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 /) y = 0.0 end associate write(*,'(2f10.4)') array end program assoc