<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/78391>78391</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] Pointer deallocation for zero-size target with STAT specifier causes runtime segfault at –O0.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:runtime
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
harishch4
</td>
</tr>
</table>
<pre>
Deallocation of zero-sized pointer target with STAT= specifier causes a runtime segmentation fault and error termination.
The GNU compiler also crashes at runtime but the Intel compiler ifx returns 173 through STAT=.
**Sample.f90**
```
Program test_zero_size_pointer
Implicit None
Integer :: istatus
Integer, Pointer :: xx(:),yy(:)
Allocate(xx(0))
yy => xx(4:3)
Print *,size(yy),associated(yy)
Deallocate(yy,STAT=istatus);Print *,"yy",istatus
Deallocate(xx,STAT=istatus);Print *,"xx",istatus
Call s(0,4,3)
Contains
Subroutine s(sz,lo,hi)
Integer, Intent(In):: sz,lo,hi
Allocate(xx(sz))
yy => xx(lo:hi)
Print *,size(yy),associated(yy)
Deallocate(yy,STAT=istatus);Print *,"yy",istatus
Deallocate(xx,STAT=istatus);Print *,"xx",istatus
End Subroutine
End Program
```
**ifx output:**
```
0 T
yy 173
xx 0
0 T
yy 173
xx 0
```
**llvm-flang output:**
```
0 T
free(): invalid pointer
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVc9vqzgQ_mvMZdSI2OQHBw55pFn18rZSu-fKwABeGTuyh7dN__qVgSYk6WH3qREKeDzzeeb7bI_0XjUGMWOrH2y1j2RPrXVZK53ybdkmUWGrU7ZHqbUtJSlrwNbwgc4-ePWBFRytMoQOSLoGCf5R1MLL6-6ViT34I5aqVuiglL1HDxJcb0h1CB6bDg2NiLXsNYE0FaBz1gGh65QZ5hYs3rN499oi_PHzLyhtd1QaHUjtLZRO-jbA0hm36AmoRXgyhPrirup3cEi9Mx6WGwHUOts350ynVaZ_Hp4X2R01Luo0HsfT3DqenmH47GzjZAeEnt4CKW-BlLeJk9EHAOCpO2pVKoKf1uDMbAgbdMDEjokdKE-Sen83z3gOzxPNk-v7O-Pb8M1TxvPT6TKaFRIgdqNuyPh2iImHiPTicDoBE3smHkfMhImduHJ4dsoQDCTkoTrGt2G9sK703pZKElZn4znsvGU-A_KJ688qecrEjzk44zz4ccbzOyau0EKi_wUt-N2hXTBzqTX4kZM8YTy_1J1bQ1KZWQIvfeFsT8rgEOI_GM-1ZTxv1VXZN7KFT0OMb5_MkOIg3lXwTVJfaRb8g2hh7trzRjxtmdh9kdBvSvj9Mn6vlAHt0VQzbUZ7sH2ezAtnN0d3PNXhXrA9HXsajs_soH8VA5dfDK-T7XQ6G5cbMRnf3-e-3xF9m_6sCK1_dQ-1lqb5P7Wcc6gdBinG_QnK_JJane_10WVXWEdYAePb0jqEqu-OYcekXy4QVZmoUpHKCLPlJl4l6zVP1lGb8bpOBN9U66SI-RKLosR1vU3LZFvESbLCSGU85km8XG7iRGz4erGqMF7KFS_qJa82mzVLYuyk0otQ88K6JlLe95httiJdRloWqP3QyjgfCGFiN3WGsH9W-8hlA1tF33iWxFp58hcsUqSHTngYYlf787VbzRtgbd2lA941vvuuN-t5U6cjYI-cbWOWij_jRdQ7nbVERz8Id2D80Chq-2JR2o7xQ8hvej0cnf0bS2L8MBTuGT8Mtf8bAAD__8ncO8U">