URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.c++/] [ctor-5.C] - Rev 735
Compare with Previous | Blame | View Log
// { dg-do run }// { dg-require-effective-target tls_runtime }#include <omp.h>#include <assert.h>struct B{static int count;static B *expected;B& operator=(const B &);};int B::count;B * B::expected;static B thr;#pragma omp threadprivate(thr)B& B::operator= (const B &b){assert (&b == expected);assert (this != expected);#pragma omp atomiccount++;return *this;}static int nthreads;void foo(){B::expected = &thr;#pragma omp parallel copyin(thr){#pragma omp masternthreads = omp_get_num_threads ();}}int main(){omp_set_dynamic (0);omp_set_num_threads (4);foo();assert (B::count == nthreads-1);return 0;}
