backport: [multiple changes]
2011-01-27 Tobias Burnus <burnus@net-b.de> Backport from mainline 2011-02-26 Tobias Burnus <burnus@net-b.de> PR fortran/47886 * openmp.c (gfc_resolve_omp_directive): Resolve if() condition of OpenMP's task. 2011-01-27 Tobias Burnus <burnus@net-b.de> Backport from mainline 2011-02-27 Jakub Jelinek <jakub@redhat.com> PR fortran/47886 * testsuite/libgomp.fortran/task3.f90: New test. From-SVN: r170542
This commit is contained in:
parent
df2b2bbb5d
commit
c5a26c3210
|
@ -1,3 +1,12 @@
|
|||
2011-01-27 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
Backport from mainline
|
||||
2011-02-26 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/47886
|
||||
* openmp.c (gfc_resolve_omp_directive): Resolve if()
|
||||
condition of OpenMP's task.
|
||||
|
||||
2011-02-19 Tobias Burnus
|
||||
|
||||
PR fortran/47775
|
||||
|
|
|
@ -1518,6 +1518,7 @@ gfc_resolve_omp_directive (gfc_code *code, gfc_namespace *ns ATTRIBUTE_UNUSED)
|
|||
case EXEC_OMP_PARALLEL_SECTIONS:
|
||||
case EXEC_OMP_SECTIONS:
|
||||
case EXEC_OMP_SINGLE:
|
||||
case EXEC_OMP_TASK:
|
||||
if (code->ext.omp_clauses)
|
||||
resolve_omp_clauses (code);
|
||||
break;
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2011-01-27 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
Backport from mainline
|
||||
2011-02-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR fortran/47886
|
||||
* testsuite/libgomp.fortran/task3.f90: New test.
|
||||
|
||||
2011-01-16 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backport from mainline
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
! { dg-do run }
|
||||
! { dg-options "-fopenmp" }
|
||||
!
|
||||
! PR fortran/47886
|
||||
!
|
||||
! Test case contributed by Bill Long
|
||||
|
||||
! derived from OpenMP test OMP3f/F03_2_7_1d.F90
|
||||
program F03_2_7_1d
|
||||
use omp_lib
|
||||
implicit none
|
||||
integer, parameter :: NT = 4
|
||||
integer :: sum = 0
|
||||
|
||||
call omp_set_num_threads(NT);
|
||||
|
||||
!$omp parallel
|
||||
!$omp task if(omp_get_num_threads() > 0)
|
||||
!$omp atomic
|
||||
sum = sum + 1
|
||||
!$omp end task
|
||||
!$omp end parallel
|
||||
if (sum /= NT) then
|
||||
print *, "FAIL - sum == ", sum, " (expected ", NT, ")"
|
||||
call abort
|
||||
end if
|
||||
end program F03_2_7_1d
|
||||
! { dg-do run }
|
||||
! { dg-options "-fopenmp" }
|
||||
!
|
||||
! PR fortran/47886
|
||||
!
|
||||
! Test case contributed by Bill Long
|
||||
|
||||
! derived from OpenMP test OMP3f/F03_2_7_1d.F90
|
||||
program F03_2_7_1d
|
||||
use omp_lib
|
||||
implicit none
|
||||
integer, parameter :: NT = 4
|
||||
integer :: sum = 0
|
||||
|
||||
call omp_set_num_threads(NT);
|
||||
|
||||
!$omp parallel
|
||||
!$omp task if(omp_get_num_threads() > 0)
|
||||
!$omp atomic
|
||||
sum = sum + 1
|
||||
!$omp end task
|
||||
!$omp end parallel
|
||||
if (sum /= NT) then
|
||||
print *, "FAIL - sum == ", sum, " (expected ", NT, ")"
|
||||
call abort
|
||||
end if
|
||||
end program F03_2_7_1d
|
Loading…
Reference in New Issue