Have put together a small test program demonstrating the error, which has to do with indexing of a pointer when the array it points to starts at an index other than '1'. The test program, gfortran behavior, and the correct (ifort) behavior of the program is listed below.
[EMAIL PROTECTED] ~]$ cat showbad.F90 PROGRAM showbad IMPLICIT NONE INTEGER, TARGET :: x(0:12) INTEGER, POINTER :: z(:) INTEGER i DO i = 0,12 x(i) = i ENDDO z => x DO i = 0,12 print*,i,x(i),z(i) ENDDO END PROGRAM showbad [EMAIL PROTECTED] ~]$ gfortran showbad.F90 [EMAIL PROTECTED] ~]$ a.out 0 0 56 1 1 <<< 0 <<< wrong 2 2 1 3 3 2 4 4 3 5 5 4 6 6 5 7 7 6 8 8 7 9 9 8 10 10 9 11 11 10 12 12 11 [EMAIL PROTECTED] ~]$ ifort showbad.F90 [EMAIL PROTECTED] ~]$ a.out 0 0 0 1 1 <<< 1 <<< correct 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 10 10 11 11 11 12 12 12 ----------------------------------------------------------- John Michalakes, Software Engineer [EMAIL PROTECTED] NCAR, MMM Division voice: +1 303 497 8199 3450 Mitchell Lane fax: +1 303 497 8181 Boulder, Colorado 80301 U.S.A. cell: +1 720 209 2320 http://www.mmm.ucar.edu/individual/michalakes ----------------------------------------------------------- -- Summary: Incorrect array indexing through pointer when array does not start at 1 Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: michalak at ucar dot edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34770