34d01e1d17
PR fortran/35423 * trans.h (OMPWS_WORKSHARE_FLAG, OMPWS_CURR_SINGLEUNIT, OMPWS_SCALARIZER_WS, OMPWS_NOWAIT): Define. (ompws_flags): New extern decl. * trans-array.c (gfc_trans_scalarized_loop_end): Build OMP_FOR for the outer dimension if ompws_flags allow it. * trans.c (gfc_generate_code): Clear ompws_flags. * trans-expr.c (gfc_trans_assignment_1): Allow worksharing array assignments inside of !$omp workshare. * trans-stmt.c (gfc_trans_where_3): Similarly for where statements and constructs. * trans-openmp.c (ompws_flags): New variable. (gfc_trans_omp_workshare): Rewritten. * testsuite/libgomp.fortran/workshare2.f90: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r146397 |
||
---|---|---|
.. | ||
appendix-a | ||
allocatable1.f90 | ||
allocatable2.f90 | ||
allocatable3.f90 | ||
allocatable4.f90 | ||
character1.f90 | ||
character2.f90 | ||
collapse1.f90 | ||
collapse2.f90 | ||
collapse3.f90 | ||
collapse4.f90 | ||
condinc1.f | ||
condinc1.inc | ||
condinc2.f | ||
condinc3.f90 | ||
condinc4.f90 | ||
crayptr1.f90 | ||
crayptr2.f90 | ||
do1.f90 | ||
do2.f90 | ||
fortran.exp | ||
jacobi.f | ||
lastprivate1.f90 | ||
lastprivate2.f90 | ||
lib1.f90 | ||
lib2.f | ||
lib3.f | ||
lib4.f90 | ||
lock-1.f90 | ||
lock-2.f90 | ||
nested1.f90 | ||
nestedfn1.f90 | ||
nestedfn2.f90 | ||
nestedfn3.f90 | ||
nestedfn4.f90 | ||
omp_atomic1.f90 | ||
omp_atomic2.f90 | ||
omp_cond1.f | ||
omp_cond2.f | ||
omp_cond3.F90 | ||
omp_cond4.F90 | ||
omp_hello.f | ||
omp_orphan.f | ||
omp_parse1.f90 | ||
omp_parse2.f90 | ||
omp_parse3.f90 | ||
omp_parse4.f90 | ||
omp_reduction.f | ||
omp_workshare1.f | ||
omp_workshare2.f | ||
pr25162.f | ||
pr25219.f90 | ||
pr27395-1.f90 | ||
pr27395-2.f90 | ||
pr27416-1.f90 | ||
pr27916-1.f90 | ||
pr27916-2.f90 | ||
pr28390.f | ||
pr29629.f90 | ||
pr32359.f90 | ||
pr32550.f90 | ||
pr33880.f90 | ||
pr34020.f90 | ||
pr35130.f90 | ||
reduction1.f90 | ||
reduction2.f90 | ||
reduction3.f90 | ||
reduction4.f90 | ||
reduction5.f90 | ||
reduction6.f90 | ||
reference1.f90 | ||
reference2.f90 | ||
retval1.f90 | ||
retval2.f90 | ||
sharing1.f90 | ||
sharing2.f90 | ||
stack.f90 | ||
strassen.f90 | ||
tabs1.f90 | ||
tabs2.f | ||
task1.f90 | ||
task2.f90 | ||
threadprivate1.f90 | ||
threadprivate2.f90 | ||
threadprivate3.f90 | ||
vla1.f90 | ||
vla2.f90 | ||
vla3.f90 | ||
vla4.f90 | ||
vla5.f90 | ||
vla6.f90 | ||
vla7.f90 | ||
workshare1.f90 | ||
workshare2.f90 |