http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50690
Bug #: 50690
Summary: ICE with front end optimization and OMP workshare
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
>From http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50564#c8 :
Actually, I wonder in that case, how WORKSHARE will be handled, e.g.
implicit none
integer :: i
real :: A(5), B(5)
B(1) = 3.344
A = [real :: 1, 2, 3, 4, 5 ]
!$omp parallel default(shared)
!$omp workshare
A(:) = A(:)*cos(B(1))+A(:)*cos(B(1))
!$omp end workshare nowait
!$omp end parallel ! sync is implied here
print *, A
end
Answer: With -O, one gets an ICE:
omp.f90:7:0: internal compiler error: gfc_trans_omp_workshare(): Bad statement
code