diff --git a/tccpp.c b/tccpp.c index ae9ae00..9ad9516 100644 --- a/tccpp.c +++ b/tccpp.c @@ -3023,7 +3023,8 @@ static int *macro_arg_subst(Sym **nested_list, const int *macro_str, Sym *args) } if (*st <= 0) { /* expanded to empty string */ - tok_str_add(&str, TOK_PLCHLDR); + if (str.len && str.str[str.len - 1] != TOK_PLCHLDR) + tok_str_add(&str, TOK_PLCHLDR); } else for (;;) { int t2; TOK_GET(&t2, &st, &cval);