Backported from mainline
2017-11-23 Dirk Broemmel <d.broemmel@fz-juelich.de>
Jakub Jelinek <jakub@redhat.com>
PR fortran/81841
* parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
BLOCK DATA.
* libgomp.fortran/pr81841.f90: New test.
From-SVN: r262035
+2018-06-25 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from mainline
+ 2017-11-23 Dirk Broemmel <d.broemmel@fz-juelich.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/81841
+ * parse.c (parse_spec): Allow ST_OMP_THREADPRIVATE inside of
+ BLOCK DATA.
+
2018-06-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/85138
case ST_EQUIVALENCE:
case ST_IMPLICIT:
case ST_IMPLICIT_NONE:
+ case ST_OMP_THREADPRIVATE:
case ST_PARAMETER:
case ST_STRUCTURE_DECL:
case ST_TYPE:
+2018-06-25 Jakub Jelinek <jakub@redhat.com>
+
+ Backported from mainline
+ 2017-11-23 Dirk Broemmel <d.broemmel@fz-juelich.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/81841
+ * libgomp.fortran/pr81841.f90: New test.
+
2017-12-10 Tom de Vries <tom@codesourcery.com>
backport from trunk:
--- /dev/null
+! 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