/******************************************************************************* | |
* (c) Copyright 2009 Actel Corporation. All rights reserved. | |
* | |
* Assertion implementation. | |
* | |
* This file provides the implementation of the ASSERT macro. This file can be | |
* modified to cater for project specific requirements regarding the way | |
* assertions are handled. | |
* | |
* SVN $Revision: 1676 $ | |
* SVN $Date: 2009-12-02 16:47:03 +0000 (Wed, 02 Dec 2009) $ | |
*/ | |
#ifndef __MSS_ASSERT_H_ | |
#define __MSS_ASSERT_H_ | |
#include <assert.h> | |
#if defined ( __GNUC__ ) | |
#if defined(NDEBUG) | |
#define ASSERT(CHECK) | |
#else /* NDEBUG */ | |
/* | |
* SoftConsole assertion handling | |
*/ | |
#define ASSERT(CHECK) \ | |
do { \ | |
if (!(CHECK)) \ | |
{ \ | |
__asm volatile ("BKPT\n\t"); \ | |
} \ | |
} while (0); | |
#endif /* NDEBUG */ | |
#else | |
/* | |
* IAR Embedded Workbench or Keil assertion handling. | |
* Call C library assert function which should result in error message | |
* displayed in debugger. | |
*/ | |
#define ASSERT(X) assert(X) | |
#endif | |
#endif /* __MSS_ASSERT_H_ */ |