Mercurial > hg > CbC > CbC_gcc
annotate gcc/testsuite/gcc.dg/pr86314.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
rev | line source |
---|---|
131 | 1 // PR target/86314 |
2 // { dg-do run { target sync_int_long } } | |
3 // { dg-options "-O2" } | |
4 | |
5 __attribute__((noinline, noclone)) unsigned long | |
6 foo (unsigned long *p) | |
7 { | |
8 unsigned long m = 1UL << ((*p & 1) ? 1 : 0); | |
9 unsigned long n = __atomic_fetch_or (p, m, __ATOMIC_SEQ_CST); | |
10 return (n & m) == 0; | |
11 } | |
12 | |
13 int | |
14 main () | |
15 { | |
16 unsigned long v = 1; | |
17 if (foo (&v) != 1) | |
18 __builtin_abort (); | |
19 return 0; | |
20 } |