| static unsigned int bad_nbr_args_cte(int a) |
| { |
| int r = 0; |
| r |= __builtin_bswap16(); |
| r |= __builtin_bswap16(1, 2); |
| r |= __builtin_bswap32(); |
| r |= __builtin_bswap32(1, 2); |
| r |= __builtin_bswap64(); |
| r |= __builtin_bswap64(1, 2); |
| return r; |
| } |
| |
| static unsigned int bad_nbr_args_var(int a, int b) |
| { |
| int r = 0; |
| r |= __builtin_bswap16(); |
| r |= __builtin_bswap16(a, b); |
| r |= __builtin_bswap32(); |
| r |= __builtin_bswap32(a, b); |
| r |= __builtin_bswap64(); |
| r |= __builtin_bswap64(a, b); |
| return r; |
| } |
| |
| /* |
| * check-name: builtin-args-checking |
| * check-command: sparse $file |
| * check-description: Check that the arguments checking is done |
| * for expanded builtins with a prototype. |
| * |
| * check-error-start |
| builtin-args-checking.c:4:31: error: not enough arguments for function __builtin_bswap16 |
| builtin-args-checking.c:5:31: error: too many arguments for function __builtin_bswap16 |
| builtin-args-checking.c:6:31: error: not enough arguments for function __builtin_bswap32 |
| builtin-args-checking.c:7:31: error: too many arguments for function __builtin_bswap32 |
| builtin-args-checking.c:8:31: error: not enough arguments for function __builtin_bswap64 |
| builtin-args-checking.c:9:31: error: too many arguments for function __builtin_bswap64 |
| builtin-args-checking.c:16:31: error: not enough arguments for function __builtin_bswap16 |
| builtin-args-checking.c:17:31: error: too many arguments for function __builtin_bswap16 |
| builtin-args-checking.c:18:31: error: not enough arguments for function __builtin_bswap32 |
| builtin-args-checking.c:19:31: error: too many arguments for function __builtin_bswap32 |
| builtin-args-checking.c:20:31: error: not enough arguments for function __builtin_bswap64 |
| builtin-args-checking.c:21:31: error: too many arguments for function __builtin_bswap64 |
| * check-error-end |
| */ |