// { dg-do compile } int check; template void foo() { #pragma omp atomic check |= sizeof(T); } template void bar(T *x, T y) { #pragma omp atomic *x += y; } void test () { int i; long l; foo(); foo(); bar(&i, 4); bar(&l, 8L); }