SM_ASSERT
# define SM_ASSERT(cond) \
# define SM_ASSERT(cond) ((void) 0)
#undef SM_ASSERT
#define SM_ASSERT(x) assert(x)