diff options
author | Jay Freeman (saurik) <saurik@saurik.com> | 2018-09-17 02:54:58 -0700 |
---|---|---|
committer | Jay Freeman (saurik) <saurik@saurik.com> | 2018-09-17 02:54:58 -0700 |
commit | 3736a011cd396b9ff745b79a15f25ec820498afd (patch) | |
tree | d24335773b95c06bdb42cef6ac21aee73ef2c7ea /ldid.cpp | |
parent | fe54c5fb6138f269d927f0e9a48511da4fd90bad (diff) | |
download | ldid-3736a011cd396b9ff745b79a15f25ec820498afd.tar.gz ldid-3736a011cd396b9ff745b79a15f25ec820498afd.tar.zst ldid-3736a011cd396b9ff745b79a15f25ec820498afd.zip |
Wrap assertion strings, for configuration by host.
Diffstat (limited to 'ldid.cpp')
-rw-r--r-- | ldid.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -94,23 +94,27 @@ #define _assert__(line) \ _assert___(line) +#ifndef $ +#define $(value) value +#endif + #ifdef __EXCEPTIONS #define _assert_(expr, format, ...) \ do if (!(expr)) { \ - fprintf(stderr, "%s(%u): _assert(): " format "\n", __FILE__, __LINE__, ## __VA_ARGS__); \ - throw __FILE__ "(" _assert__(__LINE__) "): _assert(" #expr ")"; \ + fprintf(stderr, $("%s(%u): _assert(): " format "\n"), __FILE__, __LINE__, ## __VA_ARGS__); \ + throw $(__FILE__ "(" _assert__(__LINE__) "): _assert(" #expr ")"); \ } while (false) #else // XXX: this is not acceptable #define _assert_(expr, format, ...) \ do if (!(expr)) { \ - fprintf(stderr, "%s(%u): _assert(): " format "\n", __FILE__, __LINE__, ## __VA_ARGS__); \ + fprintf(stderr, $("%s(%u): _assert(): " format "\n"), __FILE__, __LINE__, ## __VA_ARGS__); \ exit(-1); \ } while (false) #endif #define _assert(expr) \ - _assert_(expr, "%s", #expr) + _assert_(expr, "%s", $(#expr)) #define _syscall(expr, ...) [&] { for (;;) { \ auto _value(expr); \ @@ -127,7 +131,7 @@ } }() #define _trace() \ - fprintf(stderr, "_trace(%s:%u): %s\n", __FILE__, __LINE__, __FUNCTION__) + fprintf(stderr, $("_trace(%s:%u): %s\n"), __FILE__, __LINE__, $(__FUNCTION__)) #define _not(type) \ ((type) ~ (type) 0) |