1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-14 23:46:14 +00:00
Interlisp.maiko/inc/dbprint.h
2017-05-20 15:23:28 -07:00

95 lines
2.3 KiB
C
Executable File

/* $Id: dbprint.h,v 1.2 1999/01/03 02:05:55 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/* The contents of this file are proprietary information */
/* belonging to Venue, and are provided to you under license. */
/* They may not be further distributed or disclosed to third */
/* parties without the specific permission of Venue. */
/* */
/************************************************************************/
#include <stdio.h>
/* ================================================================ */
/* Debugprint usage: DBPRINT( paren'ed arglist )
e.g. DBPRINT ( ("value of foo is %d\n", foo) );
the double parens are needed because of cpp's limited macro
capability (can only handle variable number of args if they
are paren'ed. The motivation for this macro is, its easier to
read:
DBPRINT ( ("value of foo is %d\n", foo) );
than:
#ifdef DEBUG
printf("value of foo is %d\n", foo);
#endif
e.g. TRACER(expr);
executes the expression if TRACE is on. */
/* ================================================================ */
/* For debugging print statements */
#ifdef DEBUG
#define DBPRINT(X) printf X; fflush(stdout)
#define DEBUGGER(X) X;
#else
#define DBPRINT(X)
#define DEBUGGER(X)
#endif
/* For trace print statements */
#ifdef TRACE
#define TPRINT(X) printf X; fflush(stdout);
#define TRACER(X) X;
#else /* TRACE */
#define TPRINT(X)
#define TRACER(X)
#endif /* TRACE */
/* For tracing individual opcode executions */
#ifdef OPTRACE
#define OPTPRINT(X) printf X; fflush(stdout);
#define OPTRACER(X) X;
#else
#define OPTPRINT(X)
#define OPTRACER(X)
#endif
/* For tracing function calls */
#ifdef FNTRACE
#define FNTPRINT(X) printf X; fflush(stdout);
#define FNTRACER(X) X;
#else
#define FNTPRINT(X)
#define FNTRACER(X)
#endif
/* For function-call & return stack checking */
#ifdef FNSTKCHECK
#define FNCHKPRINT(X) printf X; fflush(stdout);
#define FNCHECKER(X) X;
#else
#define FNCHKPRINT(X)
#define FNCHECKER(X)
#endif