1! { dg-do compile } 2! PR fortran/30973 3! Using symbols with the name of the module 4 5module foo 6 integer :: i 7end module foo 8 9module bar 10 integer :: j 11end module bar 12 13module test 14 use foo, only: 15 integer :: foo ! { dg-error "cannot have a type" } 16end module test 17 18module test2 19 use bar, only: foo => j 20 use foo ! ok, unless foo is accessed 21end module test2 22 23module test3 24 use bar, only: foo => j 25 use foo ! ok, unless foo is accessed 26 foo = 5 ! { dg-error "is an ambiguous reference to 'j'" } 27end module test3 28 29program test_foo 30 use foo, only: foo ! { dg-error "been used as an external module name" } 31 use foo, only: i => foo! { dg-error "been used as an external module name" } 32 use foo, only: foo => i! { dg-error "been used as an external module name" } 33end program 34