<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/72823>72823</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] execution error when a disassociated pointer variable is specified as an argument to loc intrinsic function
</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 : 18.0.0(103811a27abcbcc6792c88dcdd30034e5cc8adc3)
```
When a disassociated pointer variable is specified as an argument to `loc` intrinsic function, the program terminates abnormally at runtime.
ifort also terminated abnormally at runtime, but gfortran terminated normally with the function returning 0.
The following are the test program, Flang-new, Gfortran and ifort compilation/execution result.
snggu447_2.f90:
```fortran
module m1
integer(8):: save
contains
subroutine s1(n)
integer,pointer::p(:,:)
if (n==0) p=>null()
call z(p)
end subroutine s1
subroutine z(p)
integer,optional::p(:,:)
save= loc(p)
write(6,'(z16.16)') loc(p)
end subroutine z
end module m1
program main
use m1
call s1(0)
print *,'pass'
end program main
```
```
$ flang-new snggu447_2.f90; ./a.out
Segmentation fault (core dumped)
$
```
```
$ gfortran snggu447_2.f90; ./a.out
0000000000000000
pass
$
```
```
$ ifort snggu447_2.f90; ./a.out
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
libc.so.6 00007FBF4E242520 Unknown Unknown Unknown
a.out 00000000004041D7 Unknown Unknown Unknown
a.out 000000000040418D Unknown Unknown Unknown
libc.so.6 00007FBF4E229D90 Unknown Unknown Unknown
libc.so.6 00007FBF4E229E40 __libc_start_main Unknown Unknown
a.out 00000000004040A5 Unknown Unknown Unknown
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVk9v47YT_TT0ZRCBomSJPvjgjeNggd_hh6bdHgOKGsncUqTAP3E3n76gZMeOk22QtoIhixTnzZs3MxSF96o3iGuy_EKW24WIYW_d2u6Nvem-Lxrb_liTih5_dEvo5hs6r6wB20GnhelvDB6AFBvIeUYzShjPacHzXLBaNLKRsqpXTHLeyrYtKC1KXErJRSsLwlYz5JWH3_doQECrvPDeSiUCtjBaZQI6eBJOiUYjKA9-RKk6hS0ID8KAcH0c0AQIFkhFtZWkoqBMcMp4JaGLRgZlDWG3EPYIo7O9EwMEdIMyIqAH0RjrBqH1DxABXDRBDZgBzMxUZ10Aob0927Tv2yQfTQzQJxMnzKXBy_KDCvuJyYkZOAzRGWV6oNlRnOn-a1pktbaH9E44nMwC-nCKIjncnRKSBvcnz8K0MDOXdhiVFrMGO_wTZTx69VGHVw696ftYlvUjy7oVJcXmKlVH8Hl2sG3UCEM-DyFpjj06wjhPWS42qUC8eMJ5gbQmCGX8abmPjbMxKIPgc8K4eSkNgAuw22MRzHgjYTw9sdvpfjJQHUwIxZYUW0rYCsbp-c5ErZPJJbQUWsMzYXy8mEbTXjF6S_Pa5pKlHZOoQv8tTYBZj2ILqU5foR2cCkgYr5IRqwnjz3mV5VVakYartybXpJ_n-TR7lZz5fir9QShzgoj-MoWTNFM26IWb0SkTgLDNTG0U3idKL87e4l419_uTrLzYTK5L7wtkhO1EZmOYlz9gn9p8qmPoRNSJEZfWIbRxGLE97yys_ByLl3b9kAS9uo4KTYr8M99zj37ouLPOBT01FD6hwxR7Xpdzn8HD1_uHu_tvaQPwb2WyUkbnsJ2Rvg6iR3h1_f8WfjmW0MX1v4vxg41OHvtYq0Zm3mYVJAXq3ZddecdKtmQU4Dfzh7EH8xr-PHt8mHGm6OCsZUnLfFv_ewy-_RzGu_Gw1Xb1yXh-gnNXUoDHx_T20QfhwmNqk8_FRDfLj7i8gvhZFS7addGuipVY4DqvKS2rnLJ6sV93ZcMlb0SzZEVLWVmuCuyaipVtgzWv6oVaM8qKPGeUVnlN6yzv2IpRuuRclMjzkpQUB6F0pvXTkFnXL5T3Edc146xYaNGg9tOBg7Gp6Umx6Zw1AU1LGEvHELdOpjdN7D0pqVY--DNYUEFPB5bpa0eWWzh_yNA56-DwXxwgtJXvHB0W0en1PoTRT7v5jrBdr8I-Npm0A2G7xPL4dzM6-x1lIGw3xe8J200S_BUAAP__C93FAQ">