1! { dg-do compile } 2! 3! This tests the fix for PR36325, which corrected for the fact that a 4! specific or generic INTERFACE statement implies the EXTERNAL attibute. 5! 6! Contributed by Janus Weil <janus@gcc.gnu.org> 7 8module a 9 interface 10 subroutine foo 11 end subroutine 12 end interface 13 external foo ! { dg-error "Duplicate EXTERNAL attribute" } 14end module 15 16module b 17 interface 18 function sin (x) 19 real :: sin, x 20 end function 21 end interface 22 intrinsic sin ! { dg-error "EXTERNAL attribute conflicts with INTRINSIC attribute" } 23end module 24 25! argument checking was not done for external procedures with explicit interface 26program c 27 interface 28 subroutine bar(x) 29 real :: x 30 end subroutine 31 end interface 32 call bar() ! { dg-error "Missing actual argument" } 33end program 34