https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97245
Bug ID: 97245
Summary: ASSOCIATE intrinsic does not recognize a ponter
variable the second time it is used
Product: gcc
Version: 10.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: aluaces at udc dot es
Target Milestone: ---
Created attachment 49289
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49289&action=edit
Minimal working example
In the attached example, the second call to associate() makes the compiler
error with "Error: ‘pointer’ argument of ‘associated’ intrinsic at (1) must be
a POINTER", although it is correct and the first use passes:
MODULE formulaciones
IMPLICIT NONE
ABSTRACT INTERFACE
SUBROUTINE proc_void()
IMPLICIT NONE
END SUBROUTINE proc_void
end INTERFACE
PROCEDURE(proc_void), POINTER:: pADJSensib
CONTAINS
subroutine calculo()
implicit none
LOGICAL step
IF(associated(pADJSensib)) THEN
CALL pADJSensib
ENDIF
IF(associated(pADJSensib)) THEN
CALL pADJSensib
END IF
end subroutine calculo
END MODULE formulaciones