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

Reply via email to