28 explicit Error(
const char *msg);
29 explicit Error(
const std::string &msg);
38 virtual const char *what()
const noexcept;
79 virtual void warning(
const char *msg) = 0;
80 virtual void error(
const char *msg) = 0;
155 #define _halide_internal_assertion(condition, flags) \ 157 (condition) ? (void)0 : ::Halide::Internal::Voidifier() & ::Halide::Internal::ErrorReport(__FILE__, __LINE__, #condition, flags).ref() 159 #define internal_error Halide::Internal::ErrorReport(__FILE__, __LINE__, nullptr, 0) 160 #define user_error Halide::Internal::ErrorReport(__FILE__, __LINE__, nullptr, Halide::Internal::ErrorReport::User) 161 #define user_warning Halide::Internal::ErrorReport(__FILE__, __LINE__, nullptr, Halide::Internal::ErrorReport::User | Halide::Internal::ErrorReport::Warning) 162 #define halide_runtime_error Halide::Internal::ErrorReport(__FILE__, __LINE__, nullptr, Halide::Internal::ErrorReport::User | Halide::Internal::ErrorReport::Runtime) 164 #define internal_assert(c) _halide_internal_assertion(c, 0) 165 #define user_assert(c) _halide_internal_assertion(c, Halide::Internal::ErrorReport::User) 171 #define _halide_user_assert(c) _halide_internal_assertion(c, Halide::Internal::ErrorReport::User) virtual void error(const char *msg)=0
A base class for Halide errors.
void set_custom_compile_time_error_reporter(CompileTimeErrorReporter *error_reporter)
The default error reporter logs to stderr, then throws an exception (if HALIDE_WITH_EXCEPTIONS) or ca...
HALIDE_ALWAYS_INLINE ErrorReport & ref()
virtual void warning(const char *msg)=0
ErrorReport(const char *f, int l, const char *cs, int flags)
This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
An error that occurs while compiling a Halide pipeline that Halide attributes to a user error...
HALIDE_EXPORT_SYMBOL void unhandled_exception_handler()
~ErrorReport() noexcept(false)
When you're done using << on the object, and let it fall out of scope, this errors out...
This file declares the routines used by Halide internally in its runtime.
An error that occurs while compiling a Halide pipeline that Halide attributes to an internal compiler...
Not visible externally, similar to 'static' linkage in C.
bool exceptions_enabled()
Query whether Halide was compiled with exceptions.
#define HALIDE_ALWAYS_INLINE
virtual ~CompileTimeErrorReporter()=default
CompileTimeErrorReporter is used at compile time (not runtime) when an error or warning is generated ...
Expr operator &(Expr x, Expr y)
Return the bitwise and of two expressions (which need not have the same type).
ErrorReport & operator<<(const T &x)
#define HALIDE_EXPORT_SYMBOL
Defines functions for debug logging during code generation.
An error that occurs while running a JIT-compiled Halide pipeline.