aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/builtin-sync-cas.c
blob: e289eba2949be1a63f4380097a04fe4765cc6ba4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
static int *foo(int *ptr)
{
	__sync_val_compare_and_swap(ptr, 123, 0L);
	return __sync_val_compare_and_swap(&ptr, ptr, ptr);
}

static long bar(long *ptr)
{
	return __sync_val_compare_and_swap(ptr, ptr, 1);
}

static _Bool boz(_Bool *ptr)
{
	return __sync_bool_compare_and_swap(ptr, 0, ptr);
}

/*
 * check-name: builtin-sync-cas
 * check-known-to-fail
 *
 * check-error-start
builtin-sync-cas.c:9:49: warning: incorrect type in argument 2 (different base types)
builtin-sync-cas.c:9:49:    expected long
builtin-sync-cas.c:9:49:    got long *ptr
 * check-error-end
 */