[rtems commit] score: Define _Assert() for static analysis runs

Sebastian Huber sebh at rtems.org
Tue Feb 2 05:02:17 UTC 2021


Module:    rtems
Branch:    master
Commit:    490e6e8809e296cbc6d6358e1382f4f8776ca4bb
Changeset: http://git.rtems.org/rtems/commit/?id=490e6e8809e296cbc6d6358e1382f4f8776ca4bb

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Jan 29 07:07:51 2021 +0100

score: Define _Assert() for static analysis runs

The goal is to reduce false positive NULL_RETURNS,
PW.NORETURN_FUNCTION_DOES_RETURN, PW.SET_BUT_NOT_USED,
UNUSED_VALUE, etc. issues produced by Coverity.

Define RTEMS_STATIC_ANALYSIS if a static analysis run by Coverity is
performed.

---

 cpukit/include/rtems/score/assert.h   |  4 ++--
 cpukit/include/rtems/score/basedefs.h | 11 +++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/cpukit/include/rtems/score/assert.h b/cpukit/include/rtems/score/assert.h
index 2bf1703..cc32448 100644
--- a/cpukit/include/rtems/score/assert.h
+++ b/cpukit/include/rtems/score/assert.h
@@ -46,9 +46,9 @@ extern "C" {
 
 /**
  * @brief Assertion similar to assert() controlled via RTEMS_DEBUG instead of
- * NDEBUG.
+ *   NDEBUG and static analysis runs.
  */
-#if defined( RTEMS_DEBUG )
+#if defined( RTEMS_DEBUG ) || defined( RTEMS_STATIC_ANALYSIS )
 
   /**
    * @brief Macro with method name used in assert output
diff --git a/cpukit/include/rtems/score/basedefs.h b/cpukit/include/rtems/score/basedefs.h
index a98b80f..fe5f4ab 100644
--- a/cpukit/include/rtems/score/basedefs.h
+++ b/cpukit/include/rtems/score/basedefs.h
@@ -748,6 +748,17 @@ extern "C" {
   #define RTEMS_SECTION( _section )
 #endif
 
+/* Generated from spec:/rtems/basedefs/if/static-analysis */
+
+/**
+ * @ingroup RTEMSAPIBaseDefs
+ *
+ * @brief It is defined if a static analysis run is performed.
+ */
+#if defined(__COVERITY__)
+  #define RTEMS_STATIC_ANALYSIS
+#endif
+
 /* Generated from spec:/rtems/basedefs/if/static-assert */
 
 /**



More information about the vc mailing list