<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/102558>102558</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Compilation error when implicit none declared in module is valid in submodule
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang-new : 20.0.0(8dd065d5bc81b0c8ab57f365bb169a5d92928f25)/AArch64
```
When `implicit none` declared in `module` is valid in `submodule`, a compilation error occurs.
The following are the test program, Flang-new, Gfortran and ifort compilation/execution result.
sngg137h_212.f90:
```fortran
module m3
implicit none
interface
module subroutine sub(k,s)
implicit none
interface
subroutine s()
end
end interface
procedure(s)::k
end
end interface
end
submodule(m3)smod
common /cmn/ i
contains
module procedure sub
call k
if (i/=1)print *,901
call s
if (i/=2)print *,902
end
end
program main
use m3
common /cmn/ i
interface
subroutine k()
end
subroutine s()
end
end interface
call sub(k,s)
if (i/=2) print *,201
print *,'pass'
end
subroutine k()
common /cmn/ i
i=1
end
subroutine s()
common /cmn/ i
i=2
end
```
```
$ flang-new sngg137h_212.f90
error: Semantic errors in sngg137h_212.f90
./sngg137h_212.f90:16:16: error: No explicit type declared for 'i'
common /cmn/ i
^
$
```
```
$ gfortran sngg137h_212.f90; ./a.out
pass
$
```
```
$ ifort -diag-disable=10448 sngg137h_212.f90; ./a.out
pass
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVs1u6zYTfRp6M7BBjX5MLbTwTT59u25atMuCIimZNxRpkFRy79sXkiXFjpUULQoEiklqzvCcGZ8xD0F3VqmK5N9I_rzjQzw7X7mzdfv2-65x8mdFCjr_0WdCT78rH7Sz4FpoDbfd3qo3IOkJkB7ogRJkTEpa5DJvBEsaKhhv8mObFnnTJEXJc1liiazFnGBJsD6dvDgX2RX8Q67r84-zskAKqvuL0UJHsM4qUlCQShjulQQ9nfdODmY60AFeudHLQRia9YzgE3AQrr9ow-NIRHnvPDghBh8Ot3l_OytonTHuTdsOuFcQzwqiChEu3nWe9yNYvYgwLv7fOh89t8CtBD0ublMRrNUPJYYprVdhMPEuYbBdl6TH85-Y4KEtKUlPH2SZ4a-7V07Qp9clwL1Ay6aNyrdcrBsAc2AYGu-GqO30kSB7IfgUxqqsb24ibmLCHRxBdocDoKx8X6pRnUeMi3dCycErgmy6R3oi6enlLm5ZbECsp7Oaa9WR9SnBMvRuDReu750FgrXox7qAvp4IZyPXNszvzUqtF5uEWiC4MbBeTrdAkGmCNUmfE4LlxWsbgeCJ4FNJk7uoBf4uCB-C8IbsJsW5DaHn2i7vDuGmJT6juV3Cmwq-PFTwXfsvC_11iRb-m-32oAbcyoHvGt5uEzxeeAgEj581wTalL5SZCvg3YB-If4qmJyofwLZM7uMmZjf2-mAMV8DRuEbn_VX13EYtrlYWRtfbjjgQrDdMJimWB6yYvzhQP-Yvf_x5Ue9m2zoPBI96lXws-6cCkPx_K6N_Rr9bvPTxxt9gZMIPbohzmqkH_l2eq03vpebdXurAG6PGDqBZxv7b1NNzJ6tUlmnJd6pKjpgmRZ4ztjtXImtFy8uEqoJLzvMsSVEcM6kkk5KpZKcrpJhRRkua0ALZIWEyVWmKbcaSBBmSjKqea3Mw5rU_ON_tdAiDqhKKec52hjfKhGnSI069RdJT652NY2cijvPfV2Psvhm6QDJqdIjhHS3qaKZfCtPII_kzPD2M0bdxVt9NjbspPfvp7XxebXo3eFOdY7yE0fexJlh3Op6H5iBcT7Ae7zH_21-8-65EJFhPFAPBemb5WuFfAQAA__9RTYL9">