6.10.3(3) requires a whitespace between object-like macro
and its replacement list.

Signed-off-by: Al Viro <[EMAIL PROTECTED]>
---
 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to