<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">