1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
/*========================== begin_copyright_notice ============================
Copyright (C) 2020-2021 Intel Corporation
SPDX-License-Identifier: MIT
============================= end_copyright_notice ===========================*/
#ifndef IGC_PROBE_ASSERTION_H
#define IGC_PROBE_ASSERTION_H
#include "../common/EmUtils.h"
template<typename T>
bool CheckIsZero(const T& value)
{
return value == 0;
}
#include <cassert>
#include <cstdlib>
#define IGC_ASSERT assert
#define IGC_ASSERT_MESSAGE(x, m, ...) IGC_ASSERT(x)
#define IGC_ASSERT_EXIT(x) \
do \
{ \
if (CheckIsZero(x)) \
{ \
throw std::runtime_error("internal compiler error"); \
} \
} while(0)
#define IGC_ASSERT_EXIT_MESSAGE(x, m, ...) IGC_ASSERT_EXIT(x)
#define IGC_ASSERT_UNREACHABLE() \
do \
{ \
throw std::runtime_error("internal compiler error"); \
} while (0)
#endif // IGC_PROBE_ASSERTION_H
|