On Fri, Sep 01, 2017 at 02:27:40PM +0200, dbroemmel wrote:
> > This is wrong.  Runtime testcases for OpenMP belong into libgomp/testsuite/.
> Well, that's a path where I found some Fortran OpenMP stuff, I didn't
> look for other places.
> 
> > That said, I fail to see why such a large testcase is needed, wouldn't a
> > simple
> > ! PR fortran/81841
> > ! { dg-do compile }
> > 
> > block data
> >   implicit none
> >   integer :: int2
> >   real    :: flt2
> >   common /c_block_2/ int2, flt2
> >   !$OMP THREADPRIVATE(/c_block_2/)
> >   data int2, flt2 /2, 2.2/
> > end block data
> > 
> > testcase in gfortran.dg/gomp/ be sufficient here?
> That would suffice and is the first testcase I added to PR81841. It was
> suggested I could add runtime tests as well, so I tried.

If you really need a testcase, it would be enough to do something like:
  use omp_lib
  !$omp parallel num_threads(2)
  int2 = omp_get_thread_num ()
  !$omp barrier
  if (int2 != omp_get_thread_num ()) call abort
  !$omp end parallel
or so to ensure it has the threadprivate property by writing something
different to it in each thread and after barrier verifying it has the
expected value in each thread.

        Jakub

Reply via email to