summaryrefslogtreecommitdiff
path: root/tools/inc/tools/diagnose_ex.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/inc/tools/diagnose_ex.h')
-rw-r--r--tools/inc/tools/diagnose_ex.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/tools/inc/tools/diagnose_ex.h b/tools/inc/tools/diagnose_ex.h
index 73b7bd9f96a5..fac739b32583 100644
--- a/tools/inc/tools/diagnose_ex.h
+++ b/tools/inc/tools/diagnose_ex.h
@@ -118,11 +118,28 @@
ifc ); }
/** This macro asserts the given condition (in debug mode), and
- returns false afterwards.
+ returns the given value afterwards.
*/
-#define ENSURE_OR_RETURN(c, m) if( !(c) ) { \
+#define ENSURE_OR_RETURN(c, m, r) if( !(c) ) { \
OSL_ENSURE(c, m); \
- return false; }
+ return r; }
+
+/** This macro asserts the given condition (in debug mode), and
+ returns false afterwards.
+ */
+#define ENSURE_OR_RETURN_FALSE(c, m) \
+ ENSURE_OR_RETURN(c, m, false)
+
+
+/** This macro asserts the given condition (in debug mode), and
+ returns afterwards, without return value "void".
+ */
+#define ENSURE_OR_RETURN_VOID( c, m ) \
+ if( !(c) ) \
+ { \
+ OSL_ENSURE( c, m ); \
+ return; \
+ }