Go to the documentation of this file.
43 #define CLAM_BREAKPOINT {__asm {int 3}}
46 #elif defined (__MWERKS__)
47 #define CLAM_BREAKPOINT {_asm {int 3}}
50 #elif defined (__GNUC__) && (defined (__i386__) || defined(__x86_64__))
51 #define CLAM_BREAKPOINT {__asm__ (" int $3 "); }
54 #elif defined (__GNUC__) && defined (__powerpc__)
55 #define CLAM_BREAKPOINT {__asm__ (" .long 0x7d821008 "); }
58 #elif defined (__GNUC__) && defined (__POWERPC__)
59 #define CLAM_BREAKPOINT {__asm__ (" .long 0x7d821008 "); }
63 #warning Breakpoint code unknown for the platform. You can add it defining the CLAM_BREAKPOINT macro at file Assert.hxx.
64 #define CLAM_BREAKPOINT {}
69 #define CLAM_USE_RELEASE_ASSERTS
74 #if defined(CLAM_USE_RELEASE_ASSERTS)
75 #define CLAM_ABORT(message) \
77 throw CLAM::ErrAssertionFailed( message, __FILE__, __LINE__); \
80 #define CLAM_ABORT(message) \
82 if ( !CLAM::ErrAssertionFailed::breakpointInCLAMAssertEnabled ) { \
83 throw CLAM::ErrAssertionFailed( message, __FILE__, __LINE__); \
85 CLAM::ExecuteAssertFailedHandler ( message, __FILE__, __LINE__); \
145 #if defined(CLAM_DISABLE_CHECKS)
146 #define CLAM_BEGIN_CHECK if (0) {
147 #define CLAM_END_CHECK }
148 #define CLAM_ASSERT( expression, message )
149 #define CLAM_WARNING( expression, message )
151 #define CLAM_BEGIN_CHECK {
152 #define CLAM_END_CHECK }
153 #define CLAM_ASSERT( expression, message ) \
155 if (!(expression)) { \
156 CLAM_ABORT(message); \
158 #define CLAM_WARNING( expression, message ) \
160 if (!(expression)) { \
161 CLAM::ExecuteWarningHandler ( message, __FILE__, __LINE__); \
180 #if defined(CLAM_DISABLE_CHECKS) || defined(CLAM_USE_RELEASE_ASSERTS)
181 # define CLAM_BEGIN_DEBUG_CHECK if (0) {
182 # define CLAM_END_DEBUG_CHECK }
183 # define CLAM_DEBUG_ASSERT( expression, message )
184 # define CLAM_DEBUG_WARNING( expression, message )
186 # define CLAM_BEGIN_DEBUG_CHECK {
187 # define CLAM_END_DEBUG_CHECK }
188 # define CLAM_DEBUG_ASSERT( expression, message ) \
190 if (!(expression)) { \
191 CLAM_ABORT(message); \
193 # define CLAM_DEBUG_WARNING( expression, message ) \
195 if (!(expression)) { \
196 CLAM::ExecuteWarningHandler ( message, __FILE__, __LINE__); \