<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/93484>93484</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] CrayPointer: Incorrect error message when the argument of a statement function is also a `CrayPointer` pointee
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DanielCChen
</td>
</tr>
</table>
<pre>
Consider the following test case:
```
INTEGER*1 I1ARG1, SF, SF_RETURN, pointee
POINTER (I1ARG1P,I1ARG1)
SF(I1ARG1) = I1ARG1
I1ARG1P = loc(pointee)
I1ARG1 = 10
SF_RETURN = SF(I1ARG1)
if (SF_RETURN .ne. 10) error stop 10
END
```
Flang currently issues:
```
t.f:8:22: error: Actual argument type 'INTEGER(1)' is not compatible with dummy argument type 'INTEGER(4)'
SF_RETURN = SF(I1ARG1)
^^^^^^
```
It is expected to compile and run successfully (XLF, gfortran and ifort all do).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMk91u6zYMx59GviFq2LKT2Be-8PJRFBi6IuuA3Q2KTNsaZCmQ6HZ5-0HKR9Nzeg5OYChhTP5I_UkK79VgEBu2-I0tNomYabSu2QijUK_XI5rkYLtTs7bGqw4d0IjQW63tuzIDEHoCKTyyomXZhmUtW2aXJ5oQP0_Pr9vH7Z7xNg9W3u4fc8bX8OfufP6z377-tX8OxtEqQ4gX2B3j5Y9A2QPj1Rnwwvj6iqrvPQO1ur0BVmyuKb-DXkjRR1vJeHXN_xl59otu-fVmt7Lj35-T3seqPtT84Z0aTAOF14DOWQee7PEDu33efKnk-dxpYQaQs3NoSJ9AeT-j_5H6lPasaCtWtJyzoj3nCz9aSbPQINwwT2gI6HREYHx1a1QVb8FXoDwYSyDtdBSkDhrhXdEI3TxNp5_Fl-f4eyHgVyRji-23z931v9TkiUKV-N8RJWEHZGO1SiMI04GbDfhZSvS-n7U-hWb8_XscvKG3jpww0U8FA4TW0FnG6zTpmqKri1ok2OSrfFnxapGXydiIPC94hYdM8rrGohDdss-7elXJPC857xPV8IyX2YKv8mVZFWUq61VflgeBWFRlsehZmeEklE61fptS64YktrGpi7IqEy0OqH1cSM770G9WtL2zhtB0jPOwpq4JoQ-HefCszLTy5D9gpEjHhY7DwhYbWDtxeomDHbv_ZKR1DiVdBnBC78WA8D6iiQt-66vtQYAnQRjNfjaSlDVBb6G9BQFsmd3Tl9l1g5PZ6WYkOsbp5DvGd4OicT6k0k6M70K5l6-Ho7P_oiTGd5d55ruzFm8N_z8AAP__YU5UrQ">