1! { dg-do compile }
2! { dg-options "-ffree-line-length-none" }
3! PR fortran/93473
4module aModestlyLongModuleName
5
6  type :: aTypeWithASignificantlyLongNameButStillAllowedOK
7  end type aTypeWithASignificantlyLongNameButStillAllowedOK
8
9  interface
10     module function aFunctionWithALongButStillAllowedName(parameters) result(self)
11       type(aTypeWithASignificantlyLongNameButStillAllowedOK) :: self
12     end function aFunctionWithALongButStillAllowedName
13  end interface
14
15end module aModestlyLongModuleName
16
17submodule (aModestlyLongModuleName) aTypeWithASignificantlyLongNameButStillAllowedOK_
18
19contains
20
21  module procedure aFunctionWithALongButStillAllowedName
22     class(*), pointer :: genericObject
23  end procedure aFunctionWithALongButStillAllowedName
24
25end submodule aTypeWithASignificantlyLongNameButStillAllowedOK_
26
27submodule (aModestlyLongModuleName:aTypeWithASignificantlyLongNameButStillAllowedOK_) aSubmoduleWithASignificantlyLongButStillAllowedName__
28end submodule aSubmoduleWithASignificantlyLongButStillAllowedName__
29