https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71967
--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > But in that case, why is the private access-stmt ignored? It is not: consider module m protected :: k private :: k integer :: k = 42 end module use m integer :: k = 3 print *, k end 'k' is set to 42 in module m, but is not visible in the main program where it is set to 3.