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

    <tr>
        <th>Summary</th>
        <td>
            [flang][OpenMP] Compilation error of multiple `PARALLEL DO` directives with the same `REDUCTION` clause
        </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(0303eafcb34647f7d5a4015aad266b5766f5dc5e)
```

Multiple `PARALLEL DO` directives with the same `REDUCTION` clause are a compile-time error.

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

omp_PARADO_036_2.f:
```fortran
 program main
      parameter (n=47)
      real*8 yyy(n,n),zzz(n,n,n),aaa(n,n,n),tmp,s
      do k=1,n
        do j=1,n
          do i=1,n
            yyy(i,j)=float((j)*10+i)
 zzz(i,j,k)=float((k)*100+(j)*10+i)
            aaa(i,j,k)=0.0
 enddo
        enddo
      enddo
      s=0.0
!$omp parallel do private(tmp) reduction(+:s)
      do k=1,n
!$omp parallel do private(tmp) reduction(+:s)
       do j=1,n
          do i=1,n
 tmp = zzz(i,j,k)+yyy(i,j)
            aaa(i,j,k) = sqrt(tmp**2)
 s=s+aaa(i,j,k)
          enddo
        enddo
!$omp end parallel do
      enddo
!$omp end parallel do
 end
```

```
$ flang-new -flang-experimental-exec -fopenmp omp_PARADO_036_2.f
error: Semantic errors in omp_PARADO_036_2.f
./omp_PARADO_036_2.f:16:32: error: REDUCTION variable 's' is REDUCTION in outer context must be shared in the parallel region\
s to which any of the worksharing regions arising from the worksharing construct bind.
  !$omp parallel do private(tmp) reduction(+:s)
 ^^^^^^^^^^^^^^
$
```

```
$ gfortran -fopenmp omp_PARADO_036_2.f
$
```

```
$ ifort -qopenmp omp_PARADO_036_2.f
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVltv4ygU_jXkBSXCGF_ykAcnbqSVOtvR7Oy-Vtg-jmkxeAD39utX4KTJJO3MVKpltfG5fIdz4QNurdgpgBVK1igpZ3x0nTYr3Sk9b-9mlW6eVygl-5eUiBT_gbFCK6xb3EqudnMFjxjFBY6yBVkQRHMSkxh4W1cxS1nWZk3CGYkSzhuaplWSpWmbNHUCiC4nyLMI098vo3RikIBRSr4W34rr66trXN6glOBGGKideACLH4XrsOsAW94H029X5b-b73_d_O0Na8lHC5gbwBzXuh-EhLkTPWAwRpvFabzvHeBWS6kfhdoFFw_rwDo8GL0zvEd0c0zZf-xabZzhCnPVYOE_9kG48xUyYEfpfgqi--HWJ1Pe3JI4vaWLFsXFWRH2oJP0EBv3XBxE4Rm44T04MBjRXKG4ZNlrPScLA1wiWuT4-fk52NCN8iZ08_LychQchJzzS6HrB0Q39hS20fgexWUUjE7kQXP3tiboxHs6vF-hQHRz5-PGZSs1d4jmiOZBQouIILoWxxSnHPYum_sLt_uDm_d7H-bkmQpwhugnerIE1TT6Z68L0YXAnkIgGiHKdD-E5kkJ0pdlMOKBO0A0D8VeYgPNWPsBComsUVzYs_VetuDToD_aRNcPGMXlW-2g67O2_kHFA5b9YdxhzQWiBT06-3paRNdv9OoM_dftOtYLVHNas3e6-Tt7UM0vqOxcSNkJdc6nn_A0gBE9KMflHJ6gxvNWD6D6Ab9BGgEncJhn3n-g58qJemI1i4V612eB6PZNEopSFBcx9XCvuK9cih-4EbzyZEwzi2iGhT3R-nijp6JaKwdPDvejdbgCbDtuoPF6z6WvZTOw8zOYbKY1Wew0fuxE3WGunv3B4q0ftbn3_p6NJweLuRHWf7dG9xdGtVbWmbF2uBKqWRw6-RlbAyVXf_oeOvyxcXg9SX7b9A9DT-fS_MeHcWfNKm6W8ZLPYBWlWU6yJE3ZrFtBU9OELVnLOMvyPGZJy1mbNixe1qzl9UysKKExiUlKGMkYWwCrWZ6RvIniiuQsQoxAz4VcSPnQL7TZzYS1I6zSiJJoJnkF0oYrCaV-iwQlotTfUMzK-8yrcWcRI1JYZ48oTjgZ7jJhT6GkRMn6ZgD15StKSrw5OZvDjPtR6z_tmjEbjVx1zg3Wn-l0i-h2J1w3Vota94hu_Sr3_-aD0XdQO0S3ITeL6Dbk_n8AAAD__04lrzg">