https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71967
--- Comment #6 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > OMG, I forgot implicit none and the only clause. module m protected :: k private :: k integer k end module use m, only : k implicit none print *, k end is rejected by gfortran with pr71967_db_1.f90:8:14: use m, only : k 1 Error: Symbol 'k' referenced at (1) not found in module 'm' pr71967_db_1.f90:10:11: print *, k 1 Error: Symbol 'k' at (1) has no IMPLICIT type > So is ifort wrong in treating protected like an access statement? No idea, but IMO protected :: k public :: k should be valid. Note that if ifort is right, I'ld like to see where it is said so in the standard.