URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.c++/] [ctor-12.C] - Rev 801
Go to most recent revision | Compare with Previous | Blame | View Log
// PR c++/36308// { dg-do run }extern "C" void abort ();static int n;struct A{A (){l = 0;#pragma omp atomicctors++;}A (const A &x){l = x.l;#pragma omp atomiccopyctors++;}virtual A& operator= (const A &x){l = x.l;#pragma omp atomicassignops++;return *this;}virtual ~A (){#pragma omp atomicdtors++;}int l;static int ctors, dtors, copyctors, assignops;};int A::ctors;int A::dtors;int A::copyctors;int A::assignops;intmain (){A a;#pragma omp parallel private (a){a.l = 6;#pragma omp single copyprivate (a){a.l = 3;}if (a.l != 3)abort ();#pragma omp atomicn++;}if (A::ctors != n + 1|| A::copyctors != 0|| A::dtors != n|| A::assignops != n - 1)abort ();return 0;}
Go to most recent revision | Compare with Previous | Blame | View Log
