aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/evaluate.c
diff options
context:
space:
mode:
Diffstat (limited to 'evaluate.c')
-rw-r--r--evaluate.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/evaluate.c b/evaluate.c
index 4d08956e..8b1ae863 100644
--- a/evaluate.c
+++ b/evaluate.c
@@ -3380,9 +3380,11 @@ void check_duplicates(struct symbol *sym)
declared++;
typediff = type_difference(&sym->ctype, &next->ctype, 0, 0);
if (typediff) {
- sparse_error(sym->pos, "symbol '%s' redeclared with different type (originally declared at %s:%d) - %s",
- show_ident(sym->ident),
- stream_name(next->pos.stream), next->pos.line, typediff);
+ sparse_error(sym->pos, "symbol '%s' redeclared with different type (%s):",
+ show_ident(sym->ident), typediff);
+ info(sym->pos, " %s", show_typename(sym));
+ info(next->pos, "note: previously declared as:");
+ info(next->pos, " %s", show_typename(next));
return;
}
}