<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/58757>58757</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Semantic check for C723 is not implemented yet
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
PeixinQiao
</td>
</tr>
</table>
<pre>
module test
contains
subroutine foo(proc_pointer)
character(*), external, pointer :: proc_pointer
print *, proc_pointer()
end subroutine
```
subroutine as_length2()
character(2), external :: assumed_length
character(2), external, pointer :: p
p => assumed_length
call foo(p)
end subroutine
subroutine as_length4()
character(4), external :: assumed_length
character(4), external, pointer :: p
p => assumed_length
call foo(p)
end subroutine
end module
character(*) function assumed_length()
assumed_length = "abcdefghi"
end function
use test
call as_length2()
call as_length4()
end
```
This expects one semantic error according to Fortran 2018 C723 (A function name declared with an asterisk type-param-value shall not be an array, a pointer, elemental, or pure.).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1VE2PmzAQ_TVwsTYyJgRy4JBuuudW7X1l7AHcNTayzXbz7zuGpPnYTVVVqmQJe8Yz897Mw42Vh3qwctJAAviQ0H1Cd8KawJXxy8lPjbNTUAZIa23CqtFZ8TxaZQK4hG2XW4SInjsuZluVsF30sEcCb2gxXMf9MYYk-Q4XucpzTDI6PJI5_PH6Qkx6rAVGkjOqxZZs6HHdgub-WYPpQs8uc1zBZTdgTwi599MA8hj_F4EfsTyGjWjYJ_nnO0m51qf2_pnnXXrru_TW_0rvNvD_04u2RY-XdN9Li7STEUFZc1vvsgfXrggQlcV4IyS0Xa9wfy56yndZlkz-8rdYWNyT05VvfSPXDzX6vVceWzuCCJ5YHKWHgZugBAHnrCNcCOukMh0JljxZFxw3hNGsIo8ly5FKtTu3wfABiAShuQNJfirky2NzsGnKv5BwGOFhxC4OD69cT1irj4CNDaSB-aZz_BDny8nvPw4Hr2EAfAzmySOkcXKwQmKrFOpssynzap3RLJV1Lrf5lqdBBQ11UnxqNTddUuzJtxMn0YN4QQ24BT1Sj8XVMC4lEPQBQjo5XfchjD7Kiz3h6pDK1KyEHfCg9evp84Cvww9sHR4Vzhk8boqqLMq0r4tNIVvKt8Bou-U8Y2XJZVtu8qKqWtqUqeYNaB-BoggWrPmudfjuxWGhLop9qmpGGcsyypBiQbMVZFXO2yrPy5YKKmSypkhO6VWEs7KuS109I2umzqNTKx_82YlqVJ2BuT0xP59Cb139BdSbMl8Vt-nMo55J_AKX7cDl">