diff options
author | Sverker Eriksson <[email protected]> | 2013-08-27 17:23:09 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2013-09-30 17:34:10 +0200 |
commit | 156b011958a3b80e507039ddc916db039874ada1 (patch) | |
tree | 1bebd9b4ba948a5fa14d091275f9f334559f35d8 /erts/emulator/beam/sys.h | |
parent | e0ecc86e35475b434efa6cccba44074ca1040b7a (diff) | |
download | otp-156b011958a3b80e507039ddc916db039874ada1.tar.gz otp-156b011958a3b80e507039ddc916db039874ada1.tar.bz2 otp-156b011958a3b80e507039ddc916db039874ada1.zip |
erts: Refactor the ASSERT macro
Introduce unconditional ERTS_ASSERT
and use that for both ASSERT and ASSERT_EXPR.
Diffstat (limited to 'erts/emulator/beam/sys.h')
-rw-r--r-- | erts/emulator/beam/sys.h | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h index 096394b878..a20106749c 100644 --- a/erts/emulator/beam/sys.h +++ b/erts/emulator/beam/sys.h @@ -149,20 +149,16 @@ typedef ERTS_SYS_FD_TYPE ErtsSysFdType; # define ERTS_EXIT_AFTER_DUMP exit #endif -#ifdef DEBUG -# define ASSERT(e) \ - if (e) { \ - ; \ - } else { \ - erl_assert_error(#e, __FILE__, __LINE__); \ - } -# define ASSERT_EXPR(e) \ +#define ERTS_ASSERT(e) \ ((void) ((e) ? 1 : (erl_assert_error(#e, __FILE__, __LINE__), 0))) void erl_assert_error(char* expr, char* file, int line); + +#ifdef DEBUG +# define ASSERT(e) ERTS_ASSERT(e) #else -# define ASSERT(e) -# define ASSERT_EXPR(e) ((void) 1) +# define ASSERT(e) ((void) 1) #endif +#define ASSERT_EXPR ASSERT /* * Microsoft C/C++: We certainly want to use stdarg.h and prototypes. |