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

    <tr>
        <th>Summary</th>
        <td>
            [flang] compiler not issuing error when both private and shared clause is specified for same variable
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

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

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

<pre>
    For the following program

PROGRAM main
INTEGER:: N1
!$OMP PARALLEL DO  PRIVATE(N1) SHARED(N1)
   DO I=1, 4
    NEL=I
    PRINT *, I, N1
   ENDDO
!$OMP END PARALLEL DO
END PROGRAM

Compiler generates the executable without giving any error. Note that variable N1 is declared as both private and shared.

compiler gives error if the order of clauses is changed as below
!$OMP PARALLEL DO  SHARED(N1) PRIVATE(N1)


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8U82OmzAQfhpzGW1kDARy4EAXso2UJRFd9W5gAq4MjmyTdN--MmSz6UrtxYjx5_H3M-bGiG5ETEn0jUS5xyfbK52aXly45gPnmiuvVu17ulUabI9wUlKqqxg7OGvVaT4QmhOaLeuxOrxU2SsMXIxLZVe-FS9FRYKMBBmU_g3NfMLCw-sRjlmV7ffFHvIDwLHa_czeCsKS0idsAz--Z1WRf_wuRwEcdEeC3CfsGcJ7FcpiT4J891k4VrvyDQjLHHDnlo_7AaAo8_zwlU1R5o-Mlu25uAh71PqshrOQqKHDETW3aGZ_8Dc2k-W1RLgK26vJQicuzi8-vgNqrfQKSmURbM8tXLgWM7j0QRhosZFcYwvcQK1sD2ctLtwi8LEF07ut1SOJ5k5CXNAs7UGcZiZKt6hBnaCRfDJoXP-m52N3a49SXf8bx9_2f03nkYbXpkG7CTbcw9SPaRRsWMio16cR0iD0a5bEUYDJOlljHbR1yOKkpoy1sSdSRllIfX9NExpTuvIbFm_aOMHWX0dIOQkpDlzIlZSXYaV05wljJkzjhAWRJ3mN0szTy9hJ8rEjjLlB1qnDP9VTZ0hIpTDWfHawwsp55JcTUQ53H0dlwV3gAlvcvPY4_iuLm7XOWXPGRpwEtnBSGgwf8J6tN2mZ9taejXsGbEvYthO2n-pVowbCto7X7fN01uoXNpaw7SzTELadlf4JAAD__2Y2GvU">