gfortran compiles the following
module a
  implicit none
  integer :: i = 42
end module a

module b
  use a
  implicit none
  private
  public a       ! <-- Is this legal?  Can change to private, too.
end module b

program c
  use b
  implicit none
end program c

Lahey's syntax checker gives

Lahey/Fujitsu Fortran 95 Source Check Output

Compiling program unit a at line 1:
Compiling program unit b at line 5:
  1725-S: "SOURCE.F90", line 10, column 10: 'a' already used as a module name.


-- 
           Summary: PUBLIC and PRIVATE abuse
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: kargl at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36251

Reply via email to