<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/124731>124731</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] issue with submodules usage
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
shivaramaarao
</td>
</tr>
</table>
<pre>
consider the following program
reference:
https://www.ibm.com/docs/en/openxl-fortran-aix/17.1.1?topic=procedures-submodules-fortran-2008
MODULE m1
TYPE Base
INTEGER :: i
END TYPE
INTERFACE
MODULE SUBROUTINE sub1(i, b) ! Module procedure interface body for sub1
INTEGER, INTENT(IN) :: i
TYPE(Base), INTENT(IN) :: b
END SUBROUTINE
END INTERFACE
END MODULE
MODULE m4
USE m1 ! Use association of module m1
TYPE, EXTENDS(Base) :: NewType
REAL :: j
END TYPE
END MODULE
SUBMODULE (m1) m1sub
USE m4 ! Use association of module m4
CONTAINS
MODULE SUBROUTINE sub1(i, b) ! Implementation of sub1 declared in m1
INTEGER, INTENT(IN) :: i
TYPE(Base), INTENT(IN) :: b
PRINT *, "sub1", i, b
END SUBROUTINE
END SUBMODULE
flang issues the following error when compiling this testcase.
$flang rep4.f90
error: Semantic errors in rep4.f90
./rep4.f90:23:7: error: Cannot use-associate 'sub1'; it is already declared in this scope
USE m4 ! Use association of module m4
^^
./rep4.f90:26:23: Previous declaration of 'sub1'
MODULE SUBROUTINE sub1(i, b) ! Implementation of sub1 declared in m1
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0lV1vozgUhn-NuTkKAhsScsEFbWAVaYZW-ZB2Lw0cgkeAkW2a6b9fGUjSdjXaXWkXVWpsnffNcz7I4VqLS48Yk_CJhDuHj6aRKtaNeOOKd5wrLp1CVu9xKXstKlRgGoRatq28iv4Cg5IXxTsgXqKwRoV9iYQl9twYM2jCEkIzQrPr9eqKonNL2RGaVbLUhGbYE5rJAfuf7aqWyijer7j4SWjmb1zf9QnLjBxESdhuULLEalSoV3osOlmNLeq7iHpeRLyEeMn3l935WwqdT7wE4PTHawpPXON0Atjnp_S39AAWiyUgpus0302Bs8EcdMiS53QRLZbH89Ph5Xza5ynosfAJjQShz1AQugUAQn34PlHBHRVEb1DVvESwNYRaqlnqJTcS62A_5idCo31uvT6x2Wdio9GUBt3-WlEsCpvPA_ae4se07HlO63PVgin6fLQFnFI6awSutSwFN0L2IGuYa_-xwhYp_f2U5rvjg_NGleP19D5MDTikybfb9Y-vpf-KRLzkeH5awAiNOt-adr4eiwdk8HeQwa2pzy_5Kdnnx3_b0303tNhhb-7WNhAqLFuusALRL5X4HxsK8HrY5ycgNLHBhNIZltrTAvyL1i8XXwpbt7y_gNB6RP3lhUalpIJrgz2UshtEay9NIzQY1KbkGt3FhgazjcIhcOutR7xkElvyI3a8N6Kc7bSt0ocwl9DsfmQJZYQlGyu7659530sDo8bVrbEIhG7mvDeEPYEwIDTwViGv3j_1Y6LVpRxub_0_HxVYHhKm9u-vqOsbL7wqfBNy1MtX3-0-UN78_vNhc6qYVVu25Q7G_oZF3jrwGHOaeL2p-Xa72YasDCLK1-uI8YgztlmHRV1FgSNi6tHQ82nk-4yFzC0CHjIvxKiI1nxNOQk87Lho3bZ961ypLs40JrFPgw3znZYX2OppXVA69d-OYbhzVGwFq2K8aBJ4rdBGPyyMMO20Y2ZFuJtnD67CNPD4OYdR8ws6o2rjz8vjIkwzFsvusK7Lv9Wg5A8sDaHZPMx2c8ygbzH9MwAA___x9gKt">