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

    <tr>
        <th>Summary</th>
        <td>
            [flang][OpenMP] Compilation error of FIRSTPRIVATE clause of the OpenMP do directive in subroutine
        </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 : 17.0.0(3e0866bf616bf7b293cec93d06d030dd11d7911f)
```

`FIRSTPRIVATE` clause of the OpenMP `DO` directive in the subroutine causes a compile-time error.

The following are the test program, flang-new, gfortran and ifort compilation result.

omp_PARALLEL_DO_304i_5.f:
```fortran
 program main
      integer*4 ib(10), ic(10)
      do i=1,10
 ib(i) = (i-mod(i,30))*(-1)**i
      enddo
!$omp parallel
 call sub(ib, ic)
!$omp end parallel
      end

      subroutine sub(ib, ic)
      integer*4 ib(10), ic(10)
!$omp do firstprivate(ib)
      do i=1,10
          ic(i) = ib(i)
 enddo
!$omp end do
      return
      end
```

```
$ flang-new -flang-experimental-exec -fopenmp omp_PARALLEL_DO_304i_5.f
error: loc("/home/users/ea01/ea0178/CT/fort/tp/reproducer_OpenMP/fomp_integer/omp_PARALLEL_DO_304i_5.f":11:7): operand #0 does not dominate this use
error: verification of lowering to FIR failed
$
```

```
$ gfortran -fopenmp omp_PARALLEL_DO_304i_5.f
$
```

```
$ ifort -qopenmp omp_PARALLEL_DO_304i_5.f

```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVV1v6ygQ_TX4BTkCHH89-ME3uZYqddWqW93XCJtxwhUGL-D27r9fYTtpGrXaNopkGODMzJk5wJ2TRw1QofQHSvcRn_zJ2MqctIn731FrxL8Vysj6J3tE6l9gnTQamx73iutjrOEVo6TGNN-QDUGsSIAUWdb2Gc3aPm9ZmXTQlYkgmSAJEYJSkZeU9oiVC-SNh4uxuXv6-_nx6e5X_fwTZQR3ik8Ogmd_Avwwgv7rEaOM7B_CqpAWOi9fAEs9b3BTa83kpQbchYMOc9yZYZQKYi8HwGCtsZtrp88nwL1RyrxKfcTcwgzkwXk8WnO0fEBs95Z3mBx7Y73lGnMtsAyT1Qn3gSYLblL-nRMzjIfH-qm-v_95f9g_HBKylYd006OkvuFjhV6s5wjwwOXZNP-k9nAEi1i9xbJFrKAkUMt2WHaX2dV-YbBEyZ4itqMr5cs5iViJUbLHYRwPRiy2XbLglYjViBUxPQ9reQ0LWgizJsAoYlszjHjklisFat3YcaVCXQJwe46wvD0EWtwePHu45nExXlX5E-DvsvQWiDC4l9b50coX7mEF_18yL78Z-cLqheN124eEhdzP1gXEgp-s_piHT4Tzzsi2V0KNlyH8GcHKAbTnKoY_0OG4NyPoYcSfdueMNksmqF2ZkBtiDLHmZAZArJkcWIdYA5zQ9ZMXiDW7Z8Sa0MqINX5ErLEwWiOmDuxhEfG8PoyHS42aT6NgDCU1pSip88BkUmMzgg3aQywhWBhwWBuPhRmk5j4IWDo8ObiJ_wWs7GW3iNT0WJlXsEH03uDm7gn3XCoQFwq_x_flTvgiq992sNwz8T9fRccfIkWiSkSZlDyCimZ5VuQJyWl0qijJSFsWbV6QkuSQQ5lmhUh7zrdZx1ISyYoRlhDGCMnINqGbLKWcphnPCQFOekBbAgOXaqPUy7Ax9hhJ5yaoMlLkLFK8BeXmR4ex0JbzYqhtuo9sFc7E7XR0aEuUdN69oXjp1fxazX2M0j1Kf6w9lO7x7urinSsdKnv9inz8hAjz_vF4u1Kiyarq5P3owuXMGsSao_Snqd10ZkCsCXGtn3i05jd0ocnnbIIS5mz_CwAA__8QQxyX">