blob: 1ec51bb5f4ae3f25d15c308be62db5353bb4fede [file] [log] [blame]
/*
* Copyright 2019 The Hafnium Authors.
*
* Use of this source code is governed by a BSD-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/BSD-3-Clause.
*/
#pragma once
#include "hf/panic.h"
/**
* Only use to check assumptions which, if false, mean the system is in a bad
* state and it is unsafe to continue.
*
* Do not use if the condition could ever be legitimately false e.g. when
* processing external inputs.
*/
#define CHECK(x) \
do { \
if (!(x)) { \
panic("assertion failed (%s) at %s:%d", #x, __FILE__, \
__LINE__); \
} \
} while (0)