summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/assert.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/include/rtems/score/assert.h')
-rw-r--r--cpukit/score/include/rtems/score/assert.h108
1 files changed, 0 insertions, 108 deletions
diff --git a/cpukit/score/include/rtems/score/assert.h b/cpukit/score/include/rtems/score/assert.h
deleted file mode 100644
index d4432838ce..0000000000
--- a/cpukit/score/include/rtems/score/assert.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2013-2014 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_SCORE_ASSERT_H
-#define _RTEMS_SCORE_ASSERT_H
-
-#include <rtems/score/basedefs.h>
-
-#if defined( RTEMS_DEBUG )
- #include <assert.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @brief Assertion similar to assert() controlled via RTEMS_DEBUG instead of
- * NDEBUG.
- */
-#if defined( RTEMS_DEBUG )
-
- /**
- * @brief Macro with method name used in assert output
- *
- * Given the variations in compilers and standards, we have to poke a bit.
- *
- * @note This is based on the code in newlib's assert.h.
- */
- #ifndef __RTEMS_ASSERT_FUNCTION
- /* Use g++'s demangled names in C++. */
- #if defined __cplusplus && defined __GNUC__
- #define __RTEMS_ASSERT_FUNCTION __PRETTY_FUNCTION__
-
- /* C99 requires the use of __func__. */
- #elif __STDC_VERSION__ >= 199901L
- #define __RTEMS_ASSERT_FUNCTION __func__
-
- /* Older versions of gcc don't have __func__ but can use __FUNCTION__. */
- #elif __GNUC__ >= 2
- #define __RTEMS_ASSERT_FUNCTION __FUNCTION__
-
- /* failed to detect __func__ support. */
- #else
- #define __RTEMS_ASSERT_FUNCTION ((char *) 0)
- #endif
- #endif /* !__RTEMS_ASSERT_FUNCTION */
-
- #if !defined( RTEMS_SCHEDSIM )
- /* normal build is newlib. */
-
- void __assert_func(const char *, int, const char *, const char *)
- RTEMS_NO_RETURN;
-
- #define _Assert( _e ) \
- ( ( _e ) ? \
- ( void ) 0 : \
- __assert_func( __FILE__, __LINE__, __RTEMS_ASSERT_FUNCTION, #_e ) )
-
- #elif defined(__linux__)
- /* Scheduler simulator has only beed tested on glibc. */
- #define _Assert( _e ) \
- ( ( _e ) ? \
- ( void ) 0 : \
- __assert_fail( #_e, __FILE__, __LINE__, __RTEMS_ASSERT_FUNCTION ) )
- #else
- #error "Implement RTEMS assert support for this C Library"
- #endif
-
-#else
- #define _Assert( _e ) ( ( void ) 0 )
-#endif
-
-/**
- * @brief Like _Assert(), but only armed if RTEMS_SMP is defined.
- */
-#if defined( RTEMS_SMP )
- #define _SMP_Assert( _e ) _Assert( _e )
-#else
- #define _SMP_Assert( _e ) ( ( void ) 0 )
-#endif
-
-/**
- * @brief Returns true if thread dispatching is allowed.
- *
- * Thread dispatching can be repressed via _Thread_Disable_dispatch() or
- * _ISR_Local_disable().
- */
-#if defined( RTEMS_DEBUG )
- bool _Debug_Is_thread_dispatching_allowed( void );
-#endif
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* _RTEMS_SCORE_ASSERT_H */