summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/json.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/modules/json.h b/src/modules/json.h
index c9fc5c4ff..385b7c559 100644
--- a/src/modules/json.h
+++ b/src/modules/json.h
@@ -22,9 +22,17 @@ static void unreachable_internal (char const *file, int line, char const *functi
static void throw_unless_internal (char const *file, int line, char const *function, char const *condition);
static void throw_msg_unless_internal (char const *file, int line, char const *function, char const *message);
-#define throw_unreachable unreachable_internal (__FILE__, __LINE__, __PRETTY_FUNCTION__)
-#define throw_unless(condition) if (!expect_false (condition)) throw_unless_internal (__FILE__, __LINE__, __PRETTY_FUNCTION__, #condition)
-#define throw_msg_unless(condition, message) if (!expect_false (condition)) throw_msg_unless_internal (__FILE__, __LINE__, __PRETTY_FUNCTION__, message)
+#ifdef __GNUC__
+# define CURFUNC __PRETTY_FUNCTION__
+#elif defined(__BORLANDC__)
+# define CURFUNC __FUNC__
+#else
+# define CURFUNC __FUNCTION__
+#endif
+
+#define throw_unreachable unreachable_internal (__FILE__, __LINE__, CURFUNC)
+#define throw_unless(condition) if (!expect_false (condition)) throw_unless_internal (__FILE__, __LINE__, CURFUNC, #condition)
+#define throw_msg_unless(condition, message) if (!expect_false (condition)) throw_msg_unless_internal (__FILE__, __LINE__, CURFUNC, message)
namespace json
{