https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92533

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Note that one needs to handle:

module A; integer, parameter :: A1 = 1, A2 = 2; end module A
module B; use A; end module B
module C; use A; end module B
module D
  use B
  use C
  private
  private B
  public C
 ! private :: A1

That's resolved by:

"If an identifier is accessed by use association and not declared in the
module, and the name of every module from which it is accessed appears in an
access-stmt in the scoping unit, its default accessibility is PRIVATE if the
access-spec in every such access-stmt is PRIVATE, or PUBLIC if the access-spec
in any such access-stmt is PUBLIC."

Reply via email to