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