atomic-1.c

来自「用于进行gcc测试」· C语言 代码 · 共 100 行

C
100
字号
/* { 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;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?