<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/108299>108299</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [flang][openmp] Seg fault accessing thread private allocatable
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            bug,
            flang:openmp
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          psteinfeld
      </td>
    </tr>
</table>

<pre>
    Here's a test case:
```
module omod
  real,allocatable :: ralloc
  !$Omp Threadprivate (ralloc)
end module

program main
  use omp_lib
 use omod, only: ralloc
  integer, parameter :: nthread = 2
  real :: table(nthread)
  integer :: id
  allocate(ralloc)
  ralloc = 2.
 !$Omp Parallel Num_threads (nthread) Copyin (ralloc)
    id = omp_get_thread_num()
    table(id+1) = ralloc
  !$Omp End Parallel
 if (sum(table)/=4.) print *, 'fail'
  print *, 'ok'
End Program
```
When I compile and execute this test with gfortran or ifort (`gfortran -fopenmp bug.f90`), it prints `ok`.

When I compile and execute this test with flang-new (`gfortran -fopenmp bug.f90`), I get a segmentation fault.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVEuP2zYQ_jWjy2ANafSyDjp47RrNpS3QAj0uKGkksaFIgaQ23X9fUA9nt0mAAIZtDT9-jxE5wjk5aOYa8mfIb5FY_GhsPTvPUvesuqgx3Vv9K1sGKh0K9Ow8tsIxpBeIbxBfoIj3z_o4mW5RjGYy3VZAtCwU0FUoZVrhRaMYw-70gnatHTigBCj7fZrxr9Gy6GYrX4VnBDrvQKo2LOsON6Hdw_o9WzNYMeEkpD44Fxe8zC9KNntpq5gO6IpGq7dvfUjteWAbALOwYmLP9nCs_WoNIb0hvQ94ANZ8QOcd-LD8oD2A8tGfvTH8bU7cnW1yp734tU9_iLDOCn9bppdN0OEHcbya-U3q7_QQEVFuQUKDBvY7w4teJqDzB-CRSnZAz0ngDft-9Pp-0d3D2r4q-2DBrcw7WQV0h_SWnQLdbKX2CHQJXQcqeyEVUHlw_3_ZfH4srmLbm__ugfx7ZI2fsDXTLBWj0B3yv9wuntGP0m0n-ov0Iw69sd4KjcaiDP-DZSjiR_2pNzPracZmGU59tWqEGFeUfrPoEIrYfIYiPr0_mT_voVdCD0-av_y89icc2KNAx8PE2gsvjcZeLMp_8BB1ddpVaSUirpOSiriKq-ocjXVTVtxzFTdN34gkLps2a4osyalJsjLJRSRriimLqyShJEuT84nLLClywVTkSZn2DFnMk5DqpNTrdDJ2iKRzC9dJfKaqipRoWLl1xhA1ywBEQFcgWsNCetmShXJ-i2wdWJ6aZXCQxUo6777yeunVOq22rfkN8ud9d37DP3nYgqNoW3ZO6gH3-3rMkndDKFqsqkfvZxduJN2B7oP049KcWjMB3YPo_vM0W_MPtx7oviZzQPc93GtN_wUAAP__8o2YVg">