aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/include/misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/include/misc.h')
-rw-r--r--xorg-server/include/misc.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/xorg-server/include/misc.h b/xorg-server/include/misc.h
index 871c6b04f..61f690927 100644
--- a/xorg-server/include/misc.h
+++ b/xorg-server/include/misc.h
@@ -369,11 +369,18 @@ typedef struct _CharInfo *CharInfoPtr; /* also in fonts/include/font.h */
extern _X_EXPORT unsigned long globalSerialNumber;
extern _X_EXPORT unsigned long serverGeneration;
-#define BUG_WARN(cond) \
+/* Don't use this directly, use BUG_WARN or BUG_WARN_MSG instead */
+#define __BUG_WARN_MSG(cond, with_msg, ...) \
do { if (cond) { \
ErrorF("BUG: triggered 'if (" #cond ")'\nBUG: %s:%d in %s()\n", \
__FILE__, __LINE__, __func__); \
+ if (with_msg) ErrorF(__VA_ARGS__); \
xorg_backtrace(); \
} } while(0)
+#define BUG_WARN_MSG(cond, msg, ...) \
+ __BUG_WARN_MSG(cond, 1, msg, __VA_ARGS__)
+
+#define BUG_WARN(cond) __BUG_WARN_MSG(cond, 0, NULL)
+
#endif /* MISC_H */