Halide 20.0.0
Halide compiler and libraries
|
Go to the source code of this file.
Classes | |
struct | Halide::Error |
A base class for Halide errors. More... | |
struct | Halide::RuntimeError |
An error that occurs while running a JIT-compiled Halide pipeline. More... | |
struct | Halide::CompileError |
An error that occurs while compiling a Halide pipeline that Halide attributes to a user error. More... | |
struct | Halide::InternalError |
An error that occurs while compiling a Halide pipeline that Halide attributes to an internal compiler bug, or to an invalid use of Halide's internals. More... | |
class | Halide::CompileTimeErrorReporter |
CompileTimeErrorReporter is used at compile time (not runtime) when an error or warning is generated by Halide. More... | |
struct | Halide::Internal::ReportBase< T > |
struct | Halide::Internal::ErrorReport< Exception > |
struct | Halide::Internal::WarningReport |
struct | Halide::Internal::Voidifier |
Namespaces | |
namespace | Halide |
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. | |
namespace | Halide::Internal |
Macros | |
#define | _halide_internal_assertion(condition, type) |
_halide_internal_assertion is used to implement our assertion macros in such a way that the messages output for the assertion are only evaluated if the assertion's value is false. More... | |
#define | internal_error Halide::Internal::ErrorReport<Halide::InternalError>(__FILE__, __LINE__, nullptr) |
#define | user_error Halide::Internal::ErrorReport<Halide::CompileError>(__FILE__, __LINE__, nullptr) |
#define | user_warning Halide::Internal::WarningReport(__FILE__, __LINE__, nullptr) |
#define | halide_runtime_error Halide::Internal::ErrorReport<Halide::RuntimeError>(__FILE__, __LINE__, nullptr) |
#define | internal_assert(c) _halide_internal_assertion(c, Halide::InternalError) |
#define | user_assert(c) _halide_internal_assertion(c, Halide::CompileError) |
#define | _halide_internal_assert(c) _halide_internal_assertion(c, Halide::InternalError) |
#define | _halide_user_assert(c) _halide_internal_assertion(c, Halide::CompileError) |
Functions | |
bool | Halide::exceptions_enabled () |
Query whether Halide was compiled with exceptions. More... | |
void | Halide::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 calls abort (if not). More... | |
void | Halide::Internal::issue_warning (const char *warning) |
If a custom error reporter is configured, notifies the reporter by calling its warning() function. More... | |
HALIDE_EXPORT_SYMBOL void | Halide::Internal::unhandled_exception_handler () |
void | Halide::Internal::throw_error (const RuntimeError &e) |
If a custom error reporter is configured, notifies the reporter by calling its error() function with the value of e.what() More... | |
void | Halide::Internal::throw_error (const CompileError &e) |
If a custom error reporter is configured, notifies the reporter by calling its error() function with the value of e.what() More... | |
void | Halide::Internal::throw_error (const InternalError &e) |
If a custom error reporter is configured, notifies the reporter by calling its error() function with the value of e.what() More... | |
#define _halide_internal_assertion | ( | condition, | |
type | |||
) |
_halide_internal_assertion is used to implement our assertion macros in such a way that the messages output for the assertion are only evaluated if the assertion's value is false.
Note that this macro intentionally has no parens internally; in actual use, the implicit grouping will end up being
condition ? (void) : (Voidifier() & (ErrorReport << arg1 << arg2 ... << argN))
This (regrettably) requires a macro to work, but has the highly desirable effect that all assertion parameters are totally skipped (not ever evaluated) when the assertion is true.
#define internal_error Halide::Internal::ErrorReport<Halide::InternalError>(__FILE__, __LINE__, nullptr) |
#define user_error Halide::Internal::ErrorReport<Halide::CompileError>(__FILE__, __LINE__, nullptr) |
#define user_warning Halide::Internal::WarningReport(__FILE__, __LINE__, nullptr) |
#define halide_runtime_error Halide::Internal::ErrorReport<Halide::RuntimeError>(__FILE__, __LINE__, nullptr) |
#define internal_assert | ( | c | ) | _halide_internal_assertion(c, Halide::InternalError) |
#define user_assert | ( | c | ) | _halide_internal_assertion(c, Halide::CompileError) |
#define _halide_internal_assert | ( | c | ) | _halide_internal_assertion(c, Halide::InternalError) |
#define _halide_user_assert | ( | c | ) | _halide_internal_assertion(c, Halide::CompileError) |