In the following, the name 'bbb' should be accessible by any procedure that uses the module. However, the compiler gives the following error:
*** The MODULE variable 'BBB' specified in this use statement does not exist in module MMM.
Without the only clause on the use statement, you get a warning that BBB is missing and a run time error.
This is a bug (admittedly in obsolescent, though valid, code).
module mmm
contains
subroutine aaa
print *, 'aaa'
return
entry bbb
print *, 'bbb'
end subroutine aaa
end module mmm
program anon
use mmm, only: aaa, bbb
call aaa
call bbb
end program anon