summaryrefslogtreecommitdiffstats
path: root/dimension/utility.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@gmail.com>2010-04-18 23:18:45 -0400
committerTavian Barnes <tavianator@gmail.com>2010-04-18 23:18:45 -0400
commit919121bdf572b632cc5bfbbee502664682b26ab8 (patch)
tree528a83bb716851152ebc12aee385417b8f407601 /dimension/utility.c
parent004d63c0c199a1544dc9b3af9cdd3367a6969d23 (diff)
downloaddimension-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.c4
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");
+ }
}