ac/addrlib: enable assertions in debug builds
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 7 Sep 2017 10:16:14 +0000 (12:16 +0200)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 13 Sep 2017 16:26:56 +0000 (18:26 +0200)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/amd/addrlib/core/addrcommon.h

index 66424a84ba9986d799b5ce2e0ad3430e27a863ce..8f5f1bfb37454844e6cf5949c3c8373d188d157e 100644 (file)
 
 #include "addrinterface.h"
 
-
 // ADDR_LNX_KERNEL_BUILD is for internal build
 // Moved from addrinterface.h so __KERNEL__ is not needed any more
 #if ADDR_LNX_KERNEL_BUILD // || (defined(__GNUC__) && defined(__KERNEL__))
     #include "lnx_common_defs.h" // ported from cmmqs
 #elif !defined(__APPLE__) || defined(HAVE_TSERVER)
+    #include <assert.h>
     #include <stdlib.h>
     #include <string.h>
 #endif
 
+#if BRAHMA_BUILD && !defined(DEBUG)
+#ifdef NDEBUG
+#define DEBUG 0
+#else
+#define DEBUG 1
+#endif
+#endif
+
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Platform specific debug break defines
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 #if DEBUG
     #if defined(__GNUC__)
-        #define ADDR_DBG_BREAK()
+        #define ADDR_DBG_BREAK()    assert(false)
     #elif defined(__APPLE__)
         #define ADDR_DBG_BREAK()    { IOPanic("");}
     #else
     #define ADDR_ANALYSIS_ASSUME(expr) do { (void)(expr); } while (0)
 #endif
 
-#if DEBUG
+#if BRAHMA_BUILD
+    #define ADDR_ASSERT(__e) assert(__e)
+#elif DEBUG
     #define ADDR_ASSERT(__e)                                \
         do {                                                    \
             ADDR_ANALYSIS_ASSUME(__e);                          \
             if ( !((__e) ? TRUE : FALSE)) { ADDR_DBG_BREAK(); } \
         } while (0)
-    #define ADDR_ASSERT_ALWAYS() ADDR_DBG_BREAK()
-    #define ADDR_UNHANDLED_CASE() ADDR_ASSERT(!"Unhandled case")
-    #define ADDR_NOT_IMPLEMENTED() ADDR_ASSERT(!"Not implemented");
 #else //DEBUG
     #define ADDR_ASSERT(__e) ADDR_ANALYSIS_ASSUME(__e)
-    #define ADDR_ASSERT_ALWAYS()
-    #define ADDR_UNHANDLED_CASE()
-    #define ADDR_NOT_IMPLEMENTED()
 #endif //DEBUG
+
+#define ADDR_ASSERT_ALWAYS() ADDR_DBG_BREAK()
+#define ADDR_UNHANDLED_CASE() ADDR_ASSERT(!"Unhandled case")
+#define ADDR_NOT_IMPLEMENTED() ADDR_ASSERT(!"Not implemented");
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////