blob: 14564599100ce7f741808813326949c096fad98d [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("check failed (%s) at %s:%d", #x, __FILE__, \
__LINE__); \
} \
} while (0)