* This program is free software, you can redistribute it and/or modify.
* Copyright (c) 2026 Huawei Technologies Co., Ltd.
* This file is a part of the CANN Open Software.
* Licensed under CANN Open Software License Agreement Version 2.0 (the "License").
* Please refer to the License for details. You may not use this file except in compliance with the License.
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
* BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. See LICENSE in the root of
* the software repository for the full text of the License.
*/
#ifndef OPTEST_JIT_MACROS_H
#define OPTEST_JIT_MACROS_H
#include <stdexcept>
#include <string>
* 通用校验宏:条件不满足则抛 std::runtime_error(前缀自动加 "JIT: ")
*/
#define JIT_CHECK(cond, msg) \
do { \
if (!(cond)) { \
throw std::runtime_error("JIT: " + std::string(msg)); \
} \
} while (0)
* 抛异常宏(前缀自动加 "JIT: ")
*/
#define JIT_THROW(msg) throw std::runtime_error("JIT: " + std::string(msg))
* 条件成立则抛异常
*/
#define JIT_THROW_IF(cond, msg) \
do { \
if (cond) { \
JIT_THROW(msg); \
} \
} while (0)
#endif