1! { dg-do compile } 2! Tests fix for PR20886 in which the passing of a generic procedure as 3! an actual argument was not detected. 4! 5! The second module and the check that CALCULATION2 is a good actual 6! argument was added following the fix for PR26374. 7! 8! Contributed by Joost VandeVondele <jv244@cam.ac.uk> 9! 10MODULE TEST 11INTERFACE CALCULATION 12 MODULE PROCEDURE C1, C2 13END INTERFACE 14CONTAINS 15SUBROUTINE C1(r) 16 INTEGER :: r 17END SUBROUTINE 18SUBROUTINE C2(r) 19 REAL :: r 20END SUBROUTINE 21END MODULE TEST 22 23MODULE TEST2 24INTERFACE CALCULATION2 25 MODULE PROCEDURE CALCULATION2, C3 26END INTERFACE 27CONTAINS 28SUBROUTINE CALCULATION2(r) 29 INTEGER :: r 30END SUBROUTINE 31SUBROUTINE C3(r) 32 REAL :: r 33END SUBROUTINE 34END MODULE TEST2 35 36USE TEST 37USE TEST2 38CALL F(CALCULATION) ! { dg-error "GENERIC procedure" } 39 40CALL F(CALCULATION2) ! OK because there is a same name specific, but: ! { dg-error "More actual than formal arguments" } 41END 42 43SUBROUTINE F() 44END SUBROUTINE 45