<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/112911>112911</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang][OpenMP] atomic capture con complex variables with different kinds
</td>
</tr>
<tr>
<th>Labels</th>
<td>
crash-on-valid,
flang:openmp
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tblah
</td>
</tr>
</table>
<pre>
The following program fails MLIR op verification for `omp.atomic.read`:
```
program o30_221a
complex(4) :: a = 0
complex(8) :: b
!$omp parallel
!$omp atomic capture
a = a + (1,1)
b = a
!$omp end atomic
!$omp end parallel
end program
```
```
./bin/flang -fopenmp /tmp/atomic2.f90
flang-20: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
error: 'omp.atomic.read' op failed to verify that all of {x, v} have same type
error: verification of lowering to FIR failed
```
Using flang version `8e6abf526e74`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsU12L6zYQ_TXjlyFBGn8_-GGzwXChl5ZLSx-LbEuxWlkSkpLd_ffFscPdu7sQYnvmzJmvMyJGfbFSdlCeoDxn4ppmF7o0GDFng5veuj9nicoZ4160vaAP7hLEgkpoE_H7b99-oPN4k0ErPYqknUXlAkLF3OKPIrlFj8cgxQQVg_wJ2BnY479i--_--WB2OfuHiIvNiji6xRv5CtQUQC2uJPkTCoT8jOwzqHkHGh5uIA5UuMWjF0EYI83D8963VYuj8Oka5I7YEgkEOiFQw4GeOVD7Mx5x2CBfUUo77bSfS1l9v5Zzt2xj-HJEXxqPQP2gLVCvjLAXPCjnpV08AvVp8UD9VgAdVbuH3IEHWheCLyJYbS_r6-9e2u9_YLx670JCbXFj1BFj0sagfPUy6EXaJAxCeTr8_d5ycH7dP5TnvZsQXFh5geqPYqB6lc0qIjlhcpuA3jDNIqEwBp1CqE-vQM94g_qMs7hJjGKRmN68_MD_i_qcQuNeZFjFmhz2337sab4c3l9xxW1t3mSIKwNUrJGVGFRJlawLqFg2dfnU5q3IZMdraqniTVlkczc2uaxU3ijO6pZoHJtWcFW27ZQX1ah4pjtiVHDGG17krCyOUzXUipd5S2XN6qqFgslFaHM05rYcXbhkOsar7DinlvPMiEGaeD9OojGIOB-cPdyE0RMQAT0D0b16yJ-2ta_m8pyFbiU8DNdLhIIZHVP8mSLpZO4Xv4WWZyhP2_KhPH84AxydfZwX3kTQYjAy4otOM05aKRmkTfiftlPMrsF0c0o-rvdHPVB_0Wm-DsfRLUD9mn9_HHxw_8oxAfX3fiNQv7d86-j_AAAA___HN2If">