Add an #error to spread some FUD about the quality of this module;
[bertos.git] / drv / kdebug.h
index 3777d3ef974db3cabf66335401418c48dc7e7aa6..fe67c8ed20d930d532acf66bb6d1d5b86fc66ba2 100755 (executable)
@@ -1,9 +1,9 @@
-/*
+/*!
  * \file
  * <!--
  * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
  * Copyright 2000,2001,2002 Bernardo Innocenti <bernie@codewiz.org>
- * All Rights Reserved.
+ * This file is part of DevLib - See devlib/README for information.
  * -->
  *
  * \brief Definition of handy debug macros.  These macros are no-ops
 
 /*
  * $Log$
+ * Revision 1.4  2004/07/30 14:26:33  rasky
+ * Semplificato l'output dell'ASSERT
+ * Aggiunta ASSERT2 con stringa di help opzionalmente disattivabile
+ *
+ * Revision 1.3  2004/06/03 11:27:09  bernie
+ * Add dual-license information.
+ *
+ * Revision 1.2  2004/05/23 18:21:53  bernie
+ * Trim CVS logs and cleanup header info.
+ *
  * Revision 1.1  2004/05/23 18:10:11  bernie
  * Import drv/ modules.
  *
        int __check_wall(long *wall, int size, const char *name, const char *file, int line);
 
        #define THIS_FILE                       __FILE__
-       #define ASSERT(x)                       ((x) ? 0 : __assert(#x, THIS_FILE, __LINE__))
+       #ifndef CONFIG_KDEBUG_ASSERT_NO_TEXT
+               #define ASSERT(x)                   ((x) ? 0 : __assert(#x, THIS_FILE, __LINE__))
+               #define ASSERT2(x, help)            ((x) ? 0 : __assert(help " (" #x ")", THIS_FILE, __LINE__))
+       #else
+               #define ASSERT(x)                   ((x) ? 0 : __assert("", THIS_FILE, __LINE__))
+               #define ASSERT2(x, help)            ASSERT(x)
+       #endif
+
        #define ASSERT_VALID_PTR(p)             ((p >= 0x200) ? 0 : __invalid_ptr(p, #p, THIS_FILE, __LINE__))
        #define ASSERT_VALID_PTR_OR_NULL(p)     (((p == NULL) || (p >= 0x200)) ? 0 : __invalid_ptr(p, #p, THIS_FILE, __LINE__))
        #define TRACE                           kprintf("%s()\n", __FUNCTION__)
@@ -74,6 +91,7 @@
 #else /* !_DEBUG */
 
        #define ASSERT(x)
+       #define ASSERT2(x, help)
        #define ASSERT_VALID_PTR(p)
        #define ASSERT_VALID_PTR_OR_NULL(p)
        #define TRACE                           do {} while(0)
        #define INIT_WALL(name)
        #define CHECK_WALL(name)
 
+       INLINE void kdbg_init(void) {}
+       INLINE void kprintf(UNUSED(const char*, fmt), ...) {}
+
 #endif /* !_DEBUG */
 
 #endif /* KDEBUG_H */