From 8a3a92d2e2ec42f7a3cbf6d49db892b0dde97e27 Mon Sep 17 00:00:00 2001 From: nhmall Date: Wed, 6 May 2015 19:58:31 -0400 Subject: [PATCH] put back Derek's _MSC_VER changes into the lint.h version --- include/lint.h | 39 +++++++++++++++++++++++++++------------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/include/lint.h b/include/lint.h index abe98888c..2598bada8 100644 --- a/include/lint.h +++ b/include/lint.h @@ -34,19 +34,34 @@ extern unsigned nhUse_dummy; */ /* [DEBUG shouldn't be defined unless you know what you're doing...] */ #ifdef DEBUG -# define ifdebug(stmt) do { if (showdebug(__FILE__)) stmt; } while (0) +# define showdebug(file) debugcore(file, TRUE) +# define explicitdebug(file) debugcore(file, FALSE) +# define ifdebug(stmt) do { if (showdebug(__FILE__)) stmt; } while (0) +# ifdef _MSC_VER + /* if we have microsoft's C runtime we can use these instead */ +# include +# define crtdebug(stmt) do { if (showdebug(__FILE__)) stmt; \ + _RPT0(_CRT_WARN,"\n"); } while (0) +# define debugpline0(str) crtdebug(_RPT0(_CRT_WARN,str)) +# define debugpline1(fmt,arg) crtdebug(_RPT1(_CRT_WARN,fmt,arg)) +# define debugpline2(fmt,a1,a2) crtdebug(_RPT2(_CRT_WARN,fmt,a1,a2)) +# define debugpline3(fmt,a1,a2,a3) crtdebug(_RPT3(_CRT_WARN,fmt,a1,a2,a3)) +# define debugpline4(fmt,a1,a2,a3,a4) crtdebug(_RPT4(_CRT_WARN,fmt,a1,a2,a3,a4)) +# else /* these don't require compiler support for C99 variadic macros */ -# define debugpline0(str) ifdebug(pline(str)) -# define debugpline1(fmt,arg) ifdebug(pline(fmt,arg)) -# define debugpline2(fmt,a1,a2) ifdebug(pline(fmt,a1,a2)) -# define debugpline3(fmt,a1,a2,a3) ifdebug(pline(fmt,a1,a2,a3)) -# define debugpline4(fmt,a1,a2,a3,a4) ifdebug(pline(fmt,a1,a2,a3,a4)) +# define debugpline0(str) ifdebug(pline(str)) +# define debugpline1(fmt,arg) ifdebug(pline(fmt,arg)) +# define debugpline2(fmt,a1,a2) ifdebug(pline(fmt,a1,a2)) +# define debugpline3(fmt,a1,a2,a3) ifdebug(pline(fmt,a1,a2,a3)) +# define debugpline4(fmt,a1,a2,a3,a4) ifdebug(pline(fmt,a1,a2,a3,a4)) +# endif #else -# define debugpline0(str) /*empty*/ -# define debugpline1(fmt,arg) /*empty*/ -# define debugpline2(fmt,a1,a2) /*empty*/ -# define debugpline3(fmt,a1,a2,a3) /*empty*/ -# define debugpline4(fmt,a1,a2,a3,a4) /*empty*/ -#endif /*DEBUG*/ +# define debugpline0(str) /*empty*/ +# define debugpline1(fmt,arg) /*empty*/ +# define debugpline2(fmt,a1,a2) /*empty*/ +# define debugpline3(fmt,a1,a2,a3) /*empty*/ +# define debugpline4(fmt,a1,a2,a3,a4) /*empty*/ +#endif /*DEBUG*/ #endif /* LINT_H */ +