From http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/14ce82ff2838fb9a
I think it is a valid program - at least in the sense that other Cray-pointer-supporting programs support it. The following program is rejected with tab(n) = 0 1 Error: Unexpected STATEMENT FUNCTION statement at (1) It works if one swaps the "INTEGER, dimension(1:nnode) :: tab" with the "POINTER(ip_tab,tab)" line. subroutine test(nnode) implicit none integer n,nnode pointer(ip_tab, tab) integer , dimension(1:nnode) :: tab do n=1,nnode tab(n) = 0 enddo end subroutine test -- Summary: Cray pointer with pointee DIMENSION statement after POINTER statement Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37039