41 lines
1.1 KiB
C
41 lines
1.1 KiB
C
|
// ascee_assert.h
|
||
|
//
|
||
|
// Author: J.A. de Jong - ASCEE
|
||
|
//
|
||
|
// Description:
|
||
|
// Basic tools for debugging using assert statements including text.
|
||
|
//////////////////////////////////////////////////////////////////////
|
||
|
#pragma once
|
||
|
#ifndef ASCEE_ASSERT_H
|
||
|
#define ASCEE_ASSERT_H
|
||
|
|
||
|
#define OUTOFBOUNDSMATR "Out of bounds access on matrix row"
|
||
|
#define OUTOFBOUNDSMATC "Out of bounds access on matrix column"
|
||
|
#define OUTOFBOUNDSVEC "Out of bounds access on vector"
|
||
|
#define SIZEINEQUAL "Array sizes not equal"
|
||
|
#define ALLOCFAILED "Memory allocation failure in: "
|
||
|
#define NULLPTRDEREF "Null pointer dereference in: "
|
||
|
|
||
|
#ifdef ASCEE_DEBUG
|
||
|
#include "types.h"
|
||
|
|
||
|
|
||
|
void DBG_AssertFailedExtImplementation(const char* file,
|
||
|
const us line,
|
||
|
const char* string);
|
||
|
|
||
|
#define dbgassert(assertion, assert_string) \
|
||
|
if (!(assertion)) \
|
||
|
{ \
|
||
|
DBG_AssertFailedExtImplementation(__FILE__, __LINE__, assert_string ); \
|
||
|
}
|
||
|
|
||
|
#else // ASCEE_DEBUG not defined
|
||
|
|
||
|
#define dbgassert(assertion, assert_string)
|
||
|
|
||
|
#endif // ASCEE_DEBUG
|
||
|
|
||
|
#endif // ASCEE_ASSERT_H
|
||
|
//////////////////////////////////////////////////////////////////////
|