home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 August - Disc 3 / chip_20018103_hu.iso / amiga / chiputil / wipeout.lha / source / assert.h < prev    next >
Text File  |  1998-03-29  |  2KB  |  66 lines

  1. /*
  2.  * $Id: assert.h 1.1 1998/03/29 12:22:26 olsen Exp $
  3.  *
  4.  * :ts=8
  5.  */
  6.  
  7. /* IMPORTANT: If DEBUG is redefined, it must happen only here. This
  8.  *            will cause all modules to depend upon it to be rebuilt
  9.  *            by the smakefile (that is, provided the smakefile has
  10.  *            all the necessary dependency lines in place).
  11.  */
  12.  
  13. /*#define DEBUG*/
  14.  
  15. /****************************************************************************/
  16.  
  17. #ifdef ASSERT
  18. #undef ASSERT
  19. #endif    /* ASSERT */
  20.  
  21. #ifdef DEBUG
  22.  void _ASSERT(int x,const char *xs,const char *file,int line,const char *function);
  23.  void _SHOWVALUE(unsigned long value,int size,const char *name,const char *file,int line);
  24.  void _SHOWSTRING(const char *string,const char *name,const char *file,int line);
  25.  void _SHOWMSG(const char *msg,const char *file,int line);
  26.  void _ENTER(const char *file,int line,const char *function);
  27.  void _LEAVE(const char *file,int line,const char *function);
  28.  void _RETURN(const char *file,int line,const char *function,unsigned long result);
  29.  
  30.  #ifdef __SASC
  31.   #define ASSERT(x)    _ASSERT((int)(x),#x,__FILE__,__LINE__,__FUNC__);
  32.   #ifdef ASSERT_CALL_TRACING
  33.    #define ENTER()    _ENTER(__FILE__,__LINE__,__FUNC__)
  34.    #define LEAVE()    _LEAVE(__FILE__,__LINE__,__FUNC__)
  35.    #define RETURN(r)    _RETURN(__FILE__,__LINE__,__FUNC__,(unsigned long)r)
  36.   #else
  37.    #define ENTER()    ((void)0)
  38.    #define LEAVE()    ((void)0)
  39.    #define RETURN(r)    ((void)0)
  40.   #endif /* ASSERT_CALL_TRACING */
  41.  #else
  42.    #define ASSERT(x)    _ASSERT((int)(x),#x,__FILE__,__LINE__,"unknown_function");
  43.    #define ENTER()    ((void)0)
  44.    #define LEAVE()    ((void)0)
  45.    #define RETURN(r)    ((void)0)
  46.  #endif    /* __SASC */
  47.  
  48.  #ifdef ASSERT_REPORTS
  49.   #define SHOWVALUE(v)    _SHOWVALUE((unsigned long)(v),sizeof(v),#v,__FILE__,__LINE__);
  50.   #define SHOWSTRING(s)    _SHOWSTRING((const char *)(s),#s,__FILE__,__LINE__);
  51.   #define SHOWMSG(s)    _SHOWMSG((const char *)(s),__FILE__,__LINE__);
  52.  #else
  53.   #define SHOWVALUE(ignore)    ((void)0)
  54.   #define SHOWSTRING(ignore)    ((void)0)
  55.   #define SHOWMSG(ignore)    ((void)0)
  56.  #endif /* ASSERT_REPORTS */
  57. #else
  58.  #define ASSERT(ignore)        ((void)0)
  59.  #define SHOWVALUE(ignore)    ((void)0)
  60.  #define SHOWSTRING(ignore)    ((void)0)
  61.  #define SHOWMSG(ignore)    ((void)0)
  62.  #define ENTER()        ((void)0)
  63.  #define LEAVE()        ((void)0)
  64.  #define RETURN(r)        ((void)0)
  65. #endif /* DEBUG */
  66.