Commit 3b575376 by Jakub Jelinek

re PR fortran/81841 (THREADPRIVATE (OpenMP) wrongly rejected in BLOCK DATA)

	PR fortran/81841
	* parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
	BLOCK DATA.

	* libgomp.fortran/pr81841.f90: New test.

From-SVN: r255115
parent 11aa5637
2017-11-23 Dirk Broemmel <dibr-bugzilla@daswigwam.de>
Jakub Jelinek <jakub@redhat.com>
PR fortran/81841
* parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
BLOCK DATA.
2017-11-23 Mike Stump <mikestump@comcast.net> 2017-11-23 Mike Stump <mikestump@comcast.net>
Eric Botcazou <ebotcazou@adacore.com> Eric Botcazou <ebotcazou@adacore.com>
......
...@@ -3699,6 +3699,7 @@ loop: ...@@ -3699,6 +3699,7 @@ loop:
case ST_EQUIVALENCE: case ST_EQUIVALENCE:
case ST_IMPLICIT: case ST_IMPLICIT:
case ST_IMPLICIT_NONE: case ST_IMPLICIT_NONE:
case ST_OMP_THREADPRIVATE:
case ST_PARAMETER: case ST_PARAMETER:
case ST_STRUCTURE_DECL: case ST_STRUCTURE_DECL:
case ST_TYPE: case ST_TYPE:
......
2017-11-23 Jakub Jelinek <jakub@redhat.com>
PR fortran/81841
* libgomp.fortran/pr81841.f90: New test.
2017-11-22 Jakub Jelinek <jakub@redhat.com> 2017-11-22 Jakub Jelinek <jakub@redhat.com>
PR libgomp/83106 PR libgomp/83106
......
! PR fortran/81841
! { dg-do run }
block data
integer :: a
real :: b(2)
common /c/ a, b
!$omp threadprivate (/c/)
data a / 32 /
data b /2*1./
end
program pr81841
use omp_lib
integer :: e
real :: f(2)
common /c/ e, f
!$omp threadprivate (/c/)
!$omp parallel num_threads(8)
if ((e /= 32) .or. any(f /= 1.)) call abort
e = omp_get_thread_num ()
f = e + 19.
!$omp barrier
if ((e /= omp_get_thread_num ()) .or. any(f /= e + 19.)) call abort
!$omp end parallel
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment