URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.c++/] [ctor-7.C] - Rev 735
Compare with Previous | Blame | View Log
// { dg-do run }#include <omp.h>#include <assert.h>#define N 10struct B{static int icount;static int dcount;static int xcount;B();B(const B &);~B();B& operator=(const B &);void doit();};int B::icount;int B::dcount;int B::xcount;B::B(){#pragma omp atomicicount++;}B::~B(){#pragma omp atomicdcount++;}void B::doit(){#pragma omp atomicxcount++;}static int nthreads;void foo(){B b[N];#pragma omp parallel private(b){#pragma omp masternthreads = omp_get_num_threads ();b[0].doit();}}int main(){omp_set_dynamic (0);omp_set_num_threads (4);foo();assert (B::xcount == nthreads);assert (B::icount == (nthreads+1)*N);assert (B::dcount == (nthreads+1)*N);return 0;}
