blob: c03ccf7e62b9984ef7ffa13b3cd7f075e38958d9 [file] [log] [blame]
/**********************************************************************
// @@@ START COPYRIGHT @@@
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
// @@@ END COPYRIGHT @@@
**********************************************************************/
#ifndef _LM_DEBUG_H_
#define _LM_DEBUG_H_
/* -*-C++-*-
*****************************************************************************
*
* File: LmDebug.h
* Description: debug functions of the language manager
*
*
* Created: 6/20/02
* Language: C++
*
*
*
*
*****************************************************************************
*/
#include "Platform.h"
#include "NABoolean.h"
#ifdef LM_DEBUG
#include "NABoolean.h"
NABoolean doLmDebug();
void lmDebug(const char *, ...);
#define LM_DEBUG0(msg) lmDebug((msg))
#define LM_DEBUG1(msg,a1) lmDebug((msg),(a1))
#define LM_DEBUG2(msg,a1,a2) lmDebug((msg),(a1),(a2))
#define LM_DEBUG3(msg,a1,a2,a3) lmDebug((msg),(a1),(a2),(a3))
#define LM_DEBUG4(msg,a1,a2,a3,a4) lmDebug((msg),(a1),(a2),(a3),(a4))
#define LM_DEBUG5(msg,a1,a2,a3,a4,a5) lmDebug((msg),(a1),(a2),(a3),(a4),(a5))
#else
#define LM_DEBUG0(msg)
#define LM_DEBUG1(msg,a1)
#define LM_DEBUG2(msg,a1,a2)
#define LM_DEBUG3(msg,a1,a2,a3)
#define LM_DEBUG4(msg,a1,a2,a3,a4)
#define LM_DEBUG5(msg,a1,a2,a3,a4,a5)
#endif
#if defined(LM_DEBUG) && !defined(NA_WINNT)
void debugLmSignalHandlers();
#define LM_DEBUG_SIGNAL_HANDLERS(msg) \
lmDebug(msg); \
debugLmSignalHandlers()
#else
#define LM_DEBUG_SIGNAL_HANDLERS(msg)
#endif
#ifdef LM_DEBUG
NABoolean doNotRestoreSignalHandlersAfterUDF();
#else
inline NABoolean doNotRestoreSignalHandlersAfterUDF() { return FALSE; }
#endif
#endif // _LM_DEBUG_H_