Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/c-c++-common/gomp/atomic-1.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 1830386684a0 |
line wrap: on
line source
/* { dg-do compile } */ int x; volatile int y; volatile unsigned char z; void f1(void) { #pragma omp atomic x++; #pragma omp atomic x--; #pragma omp atomic ++x; #pragma omp atomic --x; #pragma omp atomic x += 1; #pragma omp atomic x -= y; #pragma omp atomic x |= 1; #pragma omp atomic x &= 1; #pragma omp atomic x ^= 1; #pragma omp atomic x *= 3; #pragma omp atomic x /= 3; #pragma omp atomic x /= 3; #pragma omp atomic x <<= 3; #pragma omp atomic x >>= 3; } void f2(void) { #pragma omp atomic y++; #pragma omp atomic y--; #pragma omp atomic ++y; #pragma omp atomic --y; #pragma omp atomic y += 1; #pragma omp atomic y -= x; #pragma omp atomic y |= 1; #pragma omp atomic y &= 1; #pragma omp atomic y ^= 1; #pragma omp atomic y *= 3; #pragma omp atomic y /= 3; #pragma omp atomic y /= 3; #pragma omp atomic y <<= 3; #pragma omp atomic y >>= 3; } void f3(void) { #pragma omp atomic z++; #pragma omp atomic z--; #pragma omp atomic ++z; #pragma omp atomic --z; #pragma omp atomic z += 1; #pragma omp atomic z |= 1; #pragma omp atomic z &= 1; #pragma omp atomic z ^= 1; #pragma omp atomic z *= 3; #pragma omp atomic z /= 3; #pragma omp atomic z /= 3; #pragma omp atomic z <<= 3; #pragma omp atomic z >>= 3; }