00001 #ifdef CH_LANG_CC
00002
00003
00004
00005
00006
00007
00008
00009 #endif
00010
00011 #ifndef _CH_ASSERT_H_
00012 #define _CH_ASSERT_H_
00013
00014 #ifdef CH_LANG_CC
00015 # include "MayDay.H"
00016 #endif
00017
00018 #include "BaseNamespaceHeader.H"
00019
00020 #ifdef CH_LANG_CC
00021
00022
00023
00024
00025 # ifndef NDEBUG
00026 # define CH_assert_str(s) # s
00027 # define CH_assert_xstr(s) CH_assert_str(s)
00028 # define CH_assert(cond) if (!(cond)) \
00029 { \
00030 CH_XD::MayDay::Abort( __FILE__ ":" CH_assert_xstr(__LINE__) ": Assertion `" #cond "' failed."); \
00031 }
00032 # else
00033 # define CH_assert(cond) (void)0
00034 #endif
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #endif
00050
00051 #ifdef CH_LANG_FORT
00052 #ifndef NDEBUG
00053 # define CH_assert(cond) if (.NOT. cond) call MAYDAYERROR()
00054 #else
00055 # define CH_assert(cond)
00056 #endif
00057 #endif
00058
00059 #include "BaseNamespaceFooter.H"
00060
00061 #endif