URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.c++/] [atomic-1.C] - Rev 735
Compare with Previous | Blame | View Log
// PR c++/33894// { dg-do run }// { dg-options "-O2" }extern "C" void abort ();int check;template<typename T> voidfoo (){#pragma omp atomiccheck |= sizeof (T);}template<typename T> voidbar (T *x, T y){#pragma omp atomic*x += y;}template<typename T> voidbaz (){#pragma omp atomiccheck++;}intmain (){int i = 0;long l = 0;check = 0;foo<char> ();if (check != sizeof (char))abort ();foo<short> ();if (check != (sizeof (char) | sizeof (short)))abort ();bar(&i, 4);bar(&l, 8L);if (i != 4 || l != 8L)abort ();baz<char> ();if (check != (sizeof (char) | sizeof (short)) + 1)abort ();baz<long double> ();if (check != (sizeof (char) | sizeof (short)) + 2)abort ();}
