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:
Tobias Burnus 2011-02-27 15:36:53 +01:00 committed by Tobias Burnus
parent df2b2bbb5d
commit c5a26c3210
4 changed files with 72 additions and 0 deletions

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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