<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/114888>114888</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] [OpenMP] Execution error when derived type with nested definitions is specified in private clause of parallel construct
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:openmp
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ohno-fj
</td>
</tr>
</table>
<pre>
```
Version of flang-new : 20.0.0(5621929f7f4878c318deecb592cd03f5ecbb83ba)/AArch64
```
When `derived type` with nested definitions is specified in a `private` clause of `parallel` construct, segmentation fault (core dumped) occurs.
The above statement is (2) in the program.
Terminates normally if not nested.
The above statement is (1) in the program.
The following are the test program, Flang-new, Gfortran and ifx compilation/execution result.
sngg188a_2.f90:
```fortran
module m1
type y
integer:: y1=2
end type y
type x
integer:: x1=1
type(y),allocatable:: x2(:)
end type x
end module m1
subroutine s1
use m1
type(x):: v1
allocate( v1%x2(2:3))
v1%x2(2:3)%y1=[2,3]
!$omp parallel private( v1 )
v1%x1=2 ! (1)
v1%x2%y1=-1 ! (2)
!$omp end parallel
end subroutine s1
program main
call s1
print *,'pass'
end program main
```
```
$ export OMP_NUM_THREADS=2; flang-new -fopenmp sngg188a_2.f90; ./a.out
flang-20: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
Segmentation fault (core dumped)
$
```
```
$ export OMP_NUM_THREADS=2; gfortran -fopenmp sngg188a_2.f90; ./a.out
pass
$
```
```
$ export OMP_NUM_THREADS=2; ifx -qopenmp sngg188a_2.f90; ./a.out
pass
$
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VVGP2zYM_jXKC5HApuzEechD7q7ZXroWa7c-FrJNOypkyZPkXPLvB8l2LpcesHvogsA2JfIj-YkihXOy1UQ7lj-w_GkhBn80dmeO2iybH4vS1JcdWyfTP3liyf5vsk4aDaaBRgndLjU9A-N7wGSVrBKGRb7GdIvbZtNkxaaoeFrURFWZb7GqE97kVJVlwUvBcMvwsN_b6rjORvA7X-Pz25E0sHVSk5UnqsFfemLrBJ6lP4Im56mGmhqppZdGO5AOXE-VbCTVIDWIYNxbeRI-2lVKDI5CAmFdWKEUqbhhtPN2qDzDR3DUdqS9CJjQiEF5YFhUxhLUQ9dTzXALpqoG61YAY6RfjwSiNCcC54WnYB-iYVhg0JYa_JGgt6a1onuxIttJLTw50MZ2QqkLyAa08VN2q_-ET9-Av6UwWDZGKfMsdQvCUtT05PysHlI-zOcZhN8aY70VGoSuQTZnqEzXSxX5YHigM1VD5MaSG5R_5c7ptk2LQnzHVbNNGN_fne4EPa52ph4UQZeOIsTzhcskSe2pJRsw-B4uKeNPOCuSrl8rj9J5lgDuzM_BfPYTywiLSyzDR6GUqYQXpaJZGRkW4Ru3PzmcXAT5LvyJgKG0ZvBSE7hrXqHoXmfJsDgH-NHh6bo3BRP2wyrmMRZkfM9jtNeA3trMI0ksf0CGj5zlT1NgmDLMTNfDXPIw34noBV5gR9RINVx_DNO50n7yPrpcpq808ar54joQdr1xVwrfYGt8TrUJnZB6dloJpW5I7a3U4WbuGT4y3PTCOYabF-yfId7sMfeLmAGde2M9fPr4-fsff338_vX3Pz_sn77E-uMPN71v2ZiedNfDfdU_wIrhQazM4EfU0QbDhYBnYbXUbfj81JP--Bnc0EeHUo_gsY95qVSIhKyM3UgByx-W325XlqaPd3I-6C_vaFzXLH8lJe3cMd7PCMTz-j-CCR1r-c8vjGNR73i95VuxoF264clmnWZpvjjuklRUJV8X2Vok63VaVpyveZomG9yUCRXpQu4wwSxNkwx5wnm2StJKiAo5z9OqakTCsoQ6IdVKqVO3MrZdSOcG2qVpVhTFQomSlIsjGjGWBuP7MTOGGMa23QXLZTm0jmWJks67FywvvYoDPrZ3lj-FEhprLggfro2crDUWnsO0vR21756zUzu5ma_XTnOdrIvBqt3R-97FznpgeGilPw7lqjIdw0OIenote2t-UBjGh0iHY3iYGDnt8N8AAAD___Vnj7E">