#include <stddef.h> /* offsetof() */
#include <sys/types.h> /* size_t */
#include <stdarg.h>
+#ifdef HAVE_EXECINFO_H
#include <execinfo.h> /* to print the backtrace */
-
+#endif
/* C++ users need love */
#ifndef BEGIN_DECL
} \
} while(0)
+#if 0 /* FIXME: We don't use backtrace. Drop it? */
#define _GRAS_ERR_PRE do { \
void *_gs_array[30]; \
size_t _gs_size= backtrace (_gs_array, 30); \
return code; \
} while (0)
+#else
+#define _GRAS_ERR_PRE do {
+#define _GRAS_ERR_POST(code) \
+ return code; \
+} while (0)
+#endif
#define RAISE0(code,fmt) _GRAS_ERR_PRE \
fprintf(stderr,"%s:%d:%s: " fmt "\n", \