6.10.3(3) requires a whitespace between object-like macro and its replacement list. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> --- pre-process.c | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pre-process.c b/pre-process.c index 2b9cecc..8fca383 100644 --- a/pre-process.c +++ b/pre-process.c @@ -1089,11 +1089,16 @@ static int do_handle_define(struct stream *stream, struct token **line, struct t arglist = NULL; expansion = left->next; - if (!expansion->pos.whitespace && match_op(expansion, '(')) { - arglist = expansion; - expansion = parse_arguments(expansion); - if (!expansion) - return 1; + if (!expansion->pos.whitespace) { + if (match_op(expansion, '(')) { + arglist = expansion; + expansion = parse_arguments(expansion); + if (!expansion) + return 1; + } else if (!eof_token(expansion)) { + warning(expansion->pos, + "no whitespace before object-like macro body"); + } } expansion = parse_expansion(expansion, arglist, name); -- 1.5.0-rc2.GIT - To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html