The following should not abort:

MODULE MYMOD
INTERFACE TT
MODULE PROCEDURE TT_I,TT_R
END INTERFACE TT
CONTAINS
FUNCTION TT_I(X) RESULT(I)
  INTEGER :: I
  INTEGER,POINTER :: X
  I=1
END FUNCTION
FUNCTION TT_R(X) RESULT(I)
  INTEGER :: I
  REAL,POINTER :: X
  I=2
END FUNCTION
END MODULE MYMOD

USE MYMOD
REAL, POINTER :: R
INTEGER, POINTER :: I
INTEGER :: K
IF (TT(I).NE.1) CALL ABORT()
IF (TT(R).NE.2) CALL ABORT()
IF (TT(NULL(I)).NE.1) CALL ABORT()
IF (TT(NULL(R)).NE.2) CALL ABORT()
END

-- 
           Summary: wrong code with NULL()
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21177

Reply via email to