| /* PR middle-end/77624 */ |
| /* { dg-do compile } */ |
| |
| void |
| foo (int *a) |
| { |
| double b = 0; |
| __atomic_is_lock_free (2, a, 2); /* { dg-error "too many arguments" } */ |
| __atomic_is_lock_free (2); /* { dg-error "too few arguments" } */ |
| __atomic_is_lock_free (2, b); /* { dg-error "incompatible type" "" { target c } } */ |
| /* { dg-message "expected" "" { target c } .-1 } */ |
| /* { dg-error "convert" "" { target c++ } .-2 } */ |
| __atomic_is_lock_free (2, 0); |
| } |
| |
| void |
| bar (int *a) |
| { |
| double b = 0; |
| __atomic_always_lock_free (2, a, 2); /* { dg-error "too many arguments" } */ |
| __atomic_always_lock_free (2); /* { dg-error "too few arguments" } */ |
| __atomic_always_lock_free (2, b); /* { dg-error "incompatible type" "" { target c } } */ |
| /* { dg-message "expected" "" { target c } .-1 } */ |
| /* { dg-error "convert" "" { target c++ } .-2 } */ |
| __atomic_always_lock_free (2, 0); |
| } |