This is the continuation of the work on the readability of errors
context.
For example, what used to be:
input.y:5.10-24: %printer redeclaration for <field2>
input.y:3.11-25: previous declaration
is now:
input.y:5.10-24: %printer redeclaration for <field2>
input.y:3.11-25: previous declaration
* NEWS: Document this change.
* src/symtab.c (symbol_redeclaration, semantic_type_redeclaration,
user_token_number_redeclaration, default_tagged_destructor_set,
default_tagless_destructor_set, default_tagged_printer_set,
default_tagless_printer_set): Use complain_at_indent to
output with increased indentation level.
* tests/input.at: Apply this change.
Signed-off-by: Akim Demaille <[email protected]>
This used to be the format of the error report:
input.y:6.5-10: result type clash on merge function 'merge': [...]
input.y:2.4-9: previous declaration
In order to distinguish the actual error from the context provided, we
rather this new output:
input.y:6.5-10: result type clash on merge function 'merge': [...]
input.y:2.4-9: previous declaration
Another patch will introduce an "error: " prefix to all non-indented
lines, giving yet better readability to the reports.
* src/complain.h (SUB_INDENT): Move to here.
* src/reader.c (record_merge_function_type): Use complain_at_indent to
output with increased indentation level.
* src/scan-code.l (SUB_INDENT): Remove from here.
* tests/glr-regression.at: Apply this change.
Signed-off-by: Akim Demaille <[email protected]>