• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download

foo(int * ptr)1 static int *foo(int *ptr)
2 {
3 	__sync_val_compare_and_swap(ptr, 123, 0L);
4 	return __sync_val_compare_and_swap(&ptr, ptr, ptr);
5 }
6 
bar(long * ptr)7 static long bar(long *ptr)
8 {
9 	return __sync_val_compare_and_swap(ptr, ptr, 1);
10 }
11 
boz(_Bool * ptr)12 static _Bool boz(_Bool *ptr)
13 {
14 	return __sync_bool_compare_and_swap(ptr, 0, ptr);
15 }
16 
17 /*
18  * check-name: builtin-sync-cas
19  *
20  * check-error-start
21 builtin-sync-cas.c:9:49: warning: incorrect type in argument 2 (different base types)
22 builtin-sync-cas.c:9:49:    expected long
23 builtin-sync-cas.c:9:49:    got long *ptr
24  * check-error-end
25  */
26