#ifndef __Debug_String #if DEBUG_ASSERT_PRODUCTION_CODE #define __Debug_String(message) #else #define __Debug_String(message) \ do \ { \ DEBUG_ASSERT_MESSAGE( \ DEBUG_ASSERT_COMPONENT_NAME_STRING, \ "", \ 0, \ message, \ __FILE__, \ __LINE__, \ 0); \ } while ( 0 ) #endif #endif
/* * __Check(assertion) * * Summary: * Production builds: does nothing and produces no code. * * Non-production builds: if the assertion expression evaluates to false, * call DEBUG_ASSERT_MESSAGE. * * Parameters: * * assertion: * The assertion expression. */ #ifndef __Check #if DEBUG_ASSERT_PRODUCTION_CODE #define __Check(assertion) #else #define __Check(assertion) \ do \ { \ if ( __builtin_expect(!(assertion), 0) ) \ { \ DEBUG_ASSERT_MESSAGE( \ DEBUG_ASSERT_COMPONENT_NAME_STRING, \ #assertion, 0, 0, __FILE__, __LINE__, 0 ); \ } \ } while ( 0 ) #endif #endif
#ifndef __nCheck #define __nCheck(assertion) __Check(!(assertion)) #endif
/* * __Check_String(assertion, message) * * Summary: * Production builds: does nothing and produces no code. * * Non-production builds: if the assertion expression evaluates to false, * call DEBUG_ASSERT_MESSAGE. * * Parameters: * * assertion: * The assertion expression. * * message: * The C string to display. */ #ifndef __Check_String #if DEBUG_ASSERT_PRODUCTION_CODE #define __Check_String(assertion, message) #else #define __Check_String(assertion, message) \ do \ { \ if ( __builtin_expect(!(assertion), 0) ) \ { \ DEBUG_ASSERT_MESSAGE( \ DEBUG_ASSERT_COMPONENT_NAME_STRING, \ #assertion, 0, message, __FILE__, __LINE__, 0 ); \ } \ } while ( 0 ) #endif #endif
#ifndef __nCheck_String #define __nCheck_String(assertion, message) __Check_String(!(assertion), message) #endif
/* * __Check_noErr(errorCode) * * Summary: * Production builds: does nothing and produces no code. * * Non-production builds: if the errorCode expression does not equal 0 (noErr), * call DEBUG_ASSERT_MESSAGE. * * Parameters: * * errorCode: * The errorCode expression to compare with 0. */ #ifndef __Check_noErr #if DEBUG_ASSERT_PRODUCTION_CODE #define __Check_noErr(errorCode) #else #define __Check_noErr(errorCode) \ do \ { \ long evalOnceErrorCode = (errorCode); \ if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ { \ DEBUG_ASSERT_MESSAGE( \ DEBUG_ASSERT_COMPONENT_NAME_STRING, \ #errorCode " == 0 ", 0, 0, __FILE__, __LINE__, evalOnceErrorCode ); \ } \ } while ( 0 ) #endif #endif
/* * __Check_noErr_String(errorCode, message) * * Summary: * Production builds: check_noerr_string() does nothing and produces * no code. * * Non-production builds: if the errorCode expression does not equal 0 (noErr), * call DEBUG_ASSERT_MESSAGE. * * Parameters: * * errorCode: * The errorCode expression to compare to 0. * * message: * The C string to display. */ #ifndef __Check_noErr_String #if DEBUG_ASSERT_PRODUCTION_CODE #define __Check_noErr_String(errorCode, message) #else #define __Check_noErr_String(errorCode, message) \ do \ { \ long evalOnceErrorCode = (errorCode); \ if ( __builtin_expect(0 != evalOnceErrorCode, 0) ) \ { \ DEBUG_ASSERT_MESSAGE( \ DEBUG_ASSERT_COMPONENT_NAME_STRING, \ #errorCode " == 0 ", 0, message, __FILE__, __LINE__, evalOnceErrorCode ); \ } \ } while ( 0 ) #endif #endif
/* * __Verify(assertion) * * Summary: * Production builds: evaluate the assertion expression, but ignore * the result. * * Non-production builds: if the assertion expression evaluates to false, * call DEBUG_ASSERT_MESSAGE. * * Parameters: * * assertion: * The assertion expression. */ #ifndef __Verify #if DEBUG_ASSERT_PRODUCTION_CODE #define __Verify(assertion) \ do \ { \ if ( !(assertion) ) \ { \ } \ } while ( 0 ) #else #define __Verify(assertion) \ do \ { \ if ( __builtin_expect(!(assertion), 0) ) \ { \ DEBUG_ASSERT_MESSAGE( \ DEBUG_ASSERT_COMPONENT_NAME_STRING, \ #assertion, 0, 0, __FILE__, __LINE__, 0 ); \ } \ } while ( 0 ) #endif #endif
#ifndef __nVerify #define __nVerify(assertion) __Verify(!(assertion)) #endif
/* * __Verify_String(assertion, message) * * Summary: * Production builds: evaluate the assertion expression, but ignore * the result. * * Non-production builds: if the assertion expression evaluates to false, * call DEBUG_ASSERT_MESSAGE. * * Parameters: * * assertion: * The assertion expression. * * message: * The C string to display. */ #ifndef __Verify_String #if DEBUG_ASSERT_PRODUCTION_CODE #define __Verify_String(assertion, message) \ do \ { \ if ( !(assertion) ) \ { \ } \ } while ( 0 ) #else #define __Verify_String(assertion, message) \ do \ { \ if ( __builtin_expect(!(assertion), 0) ) \ { \ DEBUG_ASSERT_MESSAGE( \ DEBUG_ASSERT_COMPONENT_NAME_STRING, \ #assertion, 0, message, __FILE__, __LINE__, 0 ); \ } \ } while ( 0 ) #endif #endif
#ifndef __nVerify_String #define __nVerify_String(assertion, message) __Verify_String(!(assertion), message) #endif
/* * __Verify_noErr(errorCode) * * Summary: * Production builds: evaluate the errorCode expression, but ignore * the result. * * Non-production builds: if the errorCode expression does not equal 0 (noErr), * call DEBUG_ASSERT_MESSAGE. * * Parameters:



이게사람새끼가하는거냐 ?ㄷㄷ