Janus, how about submitting a patch for this bug including a testcase? As Janus Weil found out: http://gcc.gnu.org/ml/fortran/2007-06/msg00488.html
If a namelist in a procedure contained in a module procedure contains a private item as element, a bogus error message is printed: Error: PRIVATE symbol 'r' cannot be member of PUBLIC namelist at (1) This fails if the symbol is not in the parent, but in the parent->parent namespace. One solution would be to add && !(sym->ns->parent->parent == nl->sym->ns) module mod real, private :: r contains subroutine x contains subroutine y namelist /n/ r end subroutine y end subroutine x end module mod end -- Summary: namelist with private items contained in sub-sub- procedure of a module rejected Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32535