URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [libgomp/] [testsuite/] [libgomp.c++/] [ctor-1.C] - Rev 273
Compare with Previous | Blame | View Log
// { dg-do run }#include <omp.h>#include <assert.h>struct 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;#pragma omp parallel private(b){#pragma omp masternthreads = omp_get_num_threads ();b.doit();}}int main(){omp_set_dynamic (0);omp_set_num_threads (4);foo();assert (B::xcount == nthreads);assert (B::icount == nthreads+1);assert (B::dcount == nthreads+1);return 0;}
