Johannes Doerfert | ac991bb | 2019-01-19 05:36:54 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 %s -verify -fsyntax-only |
| 2 | |
| 3 | // expected-no-diagnostics |
| 4 | |
| 5 | __attribute__((callback(1))) void no_args(void (*callback)(void)); |
| 6 | __attribute__((callback(1, 2, 3))) void args_1(void (*callback)(int, double), int a, double b); |
| 7 | __attribute__((callback(2, 3, 3))) void args_2(int a, void (*callback)(double, double), double b); |
| 8 | __attribute__((callback(2, -1, -1))) void args_3(int a, void (*callback)(double, double), double b); |
| 9 | |
| 10 | __attribute__((callback(callback))) void no_argsb(void (*callback)(void)); |
| 11 | __attribute__((callback(callback, a, 3))) void args_1b(void (*callback)(int, double), int a, double b); |
| 12 | __attribute__((callback(callback, b, b))) void args_2b(int a, void (*callback)(double, double), double b); |
| 13 | __attribute__((callback(2, __, __))) void args_3b(int a, void (*callback)(double, double), double b); |
| 14 | __attribute__((callback(callback, -1, __))) void args_3c(int a, void (*callback)(double, double), double b); |