Introduce CSSAssertSetFailFunc and CSSAsserFail to throw managed exception
Summary: - Define CSS_ASSERT_FAIL_ENABLED for P/Invoke (Visual Studio project already has it) - Pass managed delegate pointer to unmanaged side via P/Invoke. - CSSAssertFail will call the managed delegate when assert failed. - The delegate will throw managed exception. Reviewed By: emilsjolander Differential Revision: D3982084 fbshipit-source-id: 058a87c10ca89238362be4d8759cc00dd0c9b376
This commit is contained in:
committed by
Facebook Github Bot
parent
90844d62c5
commit
56f6efdecf
@@ -33,8 +33,16 @@
|
||||
#define CSS_ABORT()
|
||||
#endif
|
||||
|
||||
#define CSS_ASSERT(X, message) \
|
||||
if (!(X)) { \
|
||||
fprintf(stderr, "%s\n", message); \
|
||||
CSS_ABORT(); \
|
||||
#if CSS_ASSERT_FAIL_ENABLED
|
||||
#define CSS_ERROR_FUNC(message) CSSAssertFail(message)
|
||||
#else
|
||||
#define CSS_ERROR_FUNC(message) fprintf(stderr, "%s", message)
|
||||
#endif
|
||||
|
||||
#ifndef CSS_ASSERT
|
||||
#define CSS_ASSERT(X, message) \
|
||||
if (!(X)) { \
|
||||
CSS_ERROR_FUNC(message); \
|
||||
CSS_ABORT(); \
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user