diff --git a/preproc.c b/preproc.c index e2cc1a29..0ae21ccb 100644 --- a/preproc.c +++ b/preproc.c @@ -3821,7 +3821,12 @@ static Token *expand_mmac_params(Token * tline) delete_Token(t); changed = true; } else if (tline->type == TOK_PREPROC_ID && - tline->text[0] == '%' && tline->text[1] == '$') { + tline->text[0] == '%' && tline->text[1] == '$' && + (tok_type_(tline->next, TOK_ID) || + tok_type_(tline->next, TOK_PREPROC_ID) || + tok_type_(tline->next, TOK_FLOAT) || + tok_type_(tline->next, TOK_NUMBER) || + tok_type_(tline->next, TOK_OTHER))) { /* * In a sake of backward compatibility we allow * to expand local single macro that early before