! { dg-do compile } ! Tests fix for PR20886 in which the passing of a generic procedure as ! an actual argument was not detected. ! ! The second module and the check that CALCULATION2 is a good actual ! argument was added following the fix for PR26374. ! ! Contributed by Joost VandeVondele ! MODULE TEST INTERFACE CALCULATION MODULE PROCEDURE C1, C2 END INTERFACE CONTAINS SUBROUTINE C1(r) INTEGER :: r END SUBROUTINE SUBROUTINE C2(r) REAL :: r END SUBROUTINE END MODULE TEST MODULE TEST2 INTERFACE CALCULATION2 MODULE PROCEDURE CALCULATION2, C3 END INTERFACE CONTAINS SUBROUTINE CALCULATION2(r) INTEGER :: r END SUBROUTINE SUBROUTINE C3(r) REAL :: r END SUBROUTINE END MODULE TEST2 USE TEST USE TEST2 CALL F(CALCULATION) ! { dg-error "GENERIC procedure" } CALL F(CALCULATION2) ! OK because there is a same name specific END SUBROUTINE F() END SUBROUTINE ! { dg-final { cleanup-modules "TEST TEST2" } }