<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60227>60227</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Compilation error of sign intrinsic function in function named sign
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang-new : 16.0.0(77f2f34d696b77fe5bf05afbe7386966b6bcc8ba)
```
`Sign` intrinsic function in a function named sign results in a compilation-time error.
The following are the test program, flang-new, gfortran and ifort compilation result.
snggg865_.f90:
```fortran
module mod
interface sign
module procedure sign
end interface sign
contains
function sign (a1, a2, a3) result (data_sign)
real, intent (In):: a1, a2, a3
real:: data_sign
data_sign = + sign (a1, a3)
end function sign
end module mod
program main
use mod
! write(6,*) "sign(2.0, 1.0,1.0) = ", sign(2.0, 1.0,1.0)
if (abs(sign(2.0, 1.0,1.0)-2.0)>0.0001) write(6,*) "NG+"
end program main
```
```
$ flang-new -flang-experimental-exec snggg865_2.f90
error: Semantic errors in snggg865_2.f90
./snggg865_2.f90:9:19: error: Dummy argument 'a3=' (#3) is not OPTIONAL and is not associated with an actual argument in this procedure reference
data_sign = + sign (a1, a3)
^^^^^^^^^^^^^
$
```
```
$ gfortran snggg865_2.f90
snggg865_2.f90:9:22:
data_sign = + sign (a1, a3)
1
Error: There is no specific function for the generic 'sign' at (1)
snggg865_2.f90:14:6:
use mod
1
Fatal Error: Can't open module file 'mod.mod' for reading at (1): No such file or directory
compilation terminated.
$
```
```
$ ifort snggg865_2.f90
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVkuP4ygQ_jXkUoqFIX4dcsh0JquRVj0rTWuvI4zLNiMbIsDb0_9-BU6cR6el7Y0sHKqKqvrqZYRzqtOIW5J9Idl-JSbfG7s1vTbr9teqNs3bluT09NA9obu_0TplNJgW2kHobq3xFQjfQZonNKGElUXRspZvmrzK66JoMatbmom2xoKXeZXndV5LWdaCsGpWeWdhIf5QnSY5BaW9VdopCe2kpQ_WlQZx2WkxYgMBClh00-DdLCDNeFSDCDJrr0YEtNbY5NrMS4_QmmEwr0p3ICyC7xE8Og9HazorRsKeLkjDpmuN9VZoELoBFTbXhk4e3Bhxuuu6Ms9-Jm1FCd_dwT7pm6mjaaYBYTTNvIcAH20rJEaEZyoAnESP1khsJnvLx-Dcg5PSaC-Udme5JYgxfISVIg0gBYsrJ6w6IQq8RnjxM-o65w4siiGIBls6Cn2LXL4LRXGnbPE9nppFLjoX7kICwvdA2Jd75_jFfgR6A2JmBPJ9LOf1lFcYhVpsTu4m5ISlAK9WeSSszAl7ImwXIkEYm9GXLJT6E6TxFdfq5GzE-rHUktU24qkdYeXH0ms2H-JfaUIpTYOZx349_0HYl2B9Qf8e50eNdkNkm6vGXs9_8fcRrRpRezGs8TdKWEqaxZqejYbuCin9gaPQXsm532IzPpJPCDvc0fkuVE4aFljU7adxfANhu2mcS6wQnPA9YUUIIWE8VqlyoI2H73-9fPv-vPtz7s6ZJpwzUgmPDbwq30PoXeknMVyUKg2-V-6qmSy2aFFLvOq4T1Umyb7-p-cc9s_laJlCjyL7MKqMXUbPBdKneu3RL52ZX8_ZeunR4hx5cEeUqr0e3K2xccJ2qNEqGZI5V38BIk6PdDH3DkS6IXyXvwdx27wnfw7CiwEWr55EsOHBHFGf50KrBgwOjKZJwnlWRPcsiiZ-DC7-8B08G3CT7OdDxkKjLEpv7Nt5rF6-AB7tqHQot-R_Jnf-qjzK7EeqVs2WNxWvxAq3aV5sNlmRVeWq37Jiw3Katk1VtLmULcWylgKzrCpT1mRypbaMMk5TxmlBc14mdV6wgjJWciol5ZxsKI5CDckw_DMmxnYr5dyE25wyVqwGUePg4gWCsTAyIjMMomy_sttwZl1PnSMbOijn3UWLV36IN484Y0i2h6erIMbuD7eMWI6PrwAPLgCryQ7b3vujC3XCDoQdOuX7qU6kGQk7BOun1_pozS-UnrBD9NkRdoiY_g0AAP__Pe6b6Q">