aboutsummaryrefslogtreecommitdiffstats
path: root/asm/preproc.c
diff options
context:
space:
mode:
Diffstat (limited to 'asm/preproc.c')
-rw-r--r--asm/preproc.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/asm/preproc.c b/asm/preproc.c
index 125fa100..a3f8b7de 100644
--- a/asm/preproc.c
+++ b/asm/preproc.c
@@ -2320,10 +2320,14 @@ static int parse_smacro_template(Token ***tpp, SMacro *tmpl)
Token *t = *tn;
Token *name;
- while (t && t->type == TOK_WHITESPACE) {
- tn = &t->next;
- t = *tn;
- }
+ /*
+ * DO NOT skip whitespace here, or we won't be able to distinguish:
+ *
+ * %define foo (a,b) ; no arguments, (a,b) is the expansion
+ * %define bar(a,b) ; two arguments, empty expansion
+ *
+ * This ambiguity was inherited from C.
+ */
if (!tok_is_(t, "("))
goto finish;