$ uname -a Linux localhost.localdomain 2.6.29.4-167.fc11.i686.PAE #1 SMP Wed May 27 17:28:22 EDT 2009 i686 i686 i386 GNU/Linux $ /usr/local/gfortran/bin/gfortran --version GNU Fortran (GCC) 4.5.0 20091205 (experimental) [trunk revision 155016] $ cat x.f95 PROGRAM X TYPE T INTEGER :: I END TYPE T TYPE(T), TARGET :: T1(3) INTEGER, POINTER :: P(:)
T1(1)%I = 1 T1(2)%I = 2 T1(3)%I = 3 P => T1%I CALL Z(P) PRINT *, T1%I CONTAINS SUBROUTINE Z(Q) INTEGER, POINTER :: Q(:) Q(1) = 999 END SUBROUTINE Z END PROGRAM X $ /usr/local/gfortran/bin/gfortran -o x x.f95 $ ./x 1 999 3 !! The output is wrong. I am expecting this output: 999 2 3 -- Summary: Problem with a pointer array passed to a subroutine Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gilbert dot scott at easynet dot co dot uk GCC host triplet: 4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42309