diff options
author | Tavian Barnes <tavianator@gmail.com> | 2010-04-18 23:18:45 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2010-04-18 23:18:45 -0400 |
commit | 919121bdf572b632cc5bfbbee502664682b26ab8 (patch) | |
tree | 528a83bb716851152ebc12aee385417b8f407601 /dimension/utility.c | |
parent | 004d63c0c199a1544dc9b3af9cdd3367a6969d23 (diff) | |
download | dimension-919121bdf572b632cc5bfbbee502664682b26ab8.tar.xz |
Give backtraces for diagnostics from macros and include files.
Partly this means that dmnsn_diagnostic() can't be called anywhere except
during parsing, because the dmnsn_parse_location::parent pointers dangle.
Diffstat (limited to 'dimension/utility.c')
-rw-r--r-- | dimension/utility.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/dimension/utility.c b/dimension/utility.c index 17a7bba..aaee59b 100644 --- a/dimension/utility.c +++ b/dimension/utility.c @@ -45,4 +45,8 @@ dmnsn_diagnostic(dmnsn_parse_location location, const char *format, ...) fprintf(stderr, "\n"); va_end(ap); + + if (location.parent) { + dmnsn_diagnostic(*location.parent, "-- from here"); + } } |