diff --git a/tccpp.c b/tccpp.c index 024f9de..60f807b 100644 --- a/tccpp.c +++ b/tccpp.c @@ -1262,8 +1262,11 @@ ST_INLN void define_push(int v, int macro_type, TokenString *str, Sym *first_arg s->next = first_arg; table_ident[v - TOK_IDENT]->sym_define = s; - if (o && !macro_is_equal(o->d, s->d)) - tcc_warning("%s redefined", get_tok_str(v, NULL)); + if (o && !macro_is_equal(o->d, s->d)) { + file->line_num--; + tcc_warning("%s redefined", get_tok_str(v, NULL)); + file->line_num++; + } } /* undefined a define symbol. Its name is just set to zero */