#ifndef wasm_support_debug_h
#define wasm_support_debug_h
#ifndef NDEBUG
namespace wasm {
bool isDebugEnabled(const char* type);
void setDebugEnabled(const char* types);
}
#define BYN_DEBUG_WITH_TYPE(TYPE, X) \
do { \
if (::wasm::isDebugEnabled(TYPE)) { \
X; \
} \
} while (false)
#define BYN_TRACE_WITH_TYPE(TYPE, MSG) \
BYN_DEBUG_WITH_TYPE(TYPE, std::cerr << MSG);
#else
#error "binaryen is currently designed to be built with assertions enabled."
#error "remove these #errors if you want to build without them anyway."
#define BYN_DEBUG_WITH_TYPE(...) \
do { \
} while (false)
#define BYN_TRACE_WITH_TYPE(...) \
do { \
} while (false)
#define isDebugEnabled(type) (false)
#define setDebugEnabled(types)
#endif
#define BYN_DEBUG(X) BYN_DEBUG_WITH_TYPE(DEBUG_TYPE, X)
#define BYN_TRACE(MSG) BYN_TRACE_WITH_TYPE(DEBUG_TYPE, MSG)
#endif