summaryrefslogtreecommitdiffstats
path: root/ast/error.h
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-05-10 19:01:49 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-05-10 19:01:49 (GMT)
commitbeb90b7d3f526440250bba67e5ab07bb7eb7bbc3 (patch)
tree8d0d428ac62291f834ea8927bfa82c115ff1689d /ast/error.h
parenta213dadabce2b2e02eca8376765fa425f01792f5 (diff)
downloadblt-beb90b7d3f526440250bba67e5ab07bb7eb7bbc3.zip
blt-beb90b7d3f526440250bba67e5ab07bb7eb7bbc3.tar.gz
blt-beb90b7d3f526440250bba67e5ab07bb7eb7bbc3.tar.bz2
upgrade ast 8.7.1
Diffstat (limited to 'ast/error.h')
-rw-r--r--ast/error.h362
1 files changed, 0 insertions, 362 deletions
diff --git a/ast/error.h b/ast/error.h
deleted file mode 100644
index af0e2ae..0000000
--- a/ast/error.h
+++ /dev/null
@@ -1,362 +0,0 @@
-#if !defined( ERROR_INCLUDED ) /* Include this file only once */
-#define ERROR_INCLUDED 1
-/*
-*+
-* Name:
-* error.h
-
-* Purpose:
-* Define the interface to the Error module.
-
-* Description:
-* This module defines functions which implement error handling and
-* reporting of error messages from within the AST library. A
-* simple public interface is included to allow the AST error
-* status to be tested and cleared after an error.
-*
-* Note that this module is not a class implementation, although it
-* resembles one.
-
-* Copyright:
-* Copyright (C) 1997-2006 Council for the Central Laboratory of the
-* Research Councils
-* Copyright (C) 2008 Science & Technology Facilities Council.
-* All Rights Reserved.
-
-* Licence:
-* This program is free software: you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation, either
-* version 3 of the License, or (at your option) any later
-* version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General
-* License along with this program. If not, see
-* <http://www.gnu.org/licenses/>.
-
-* Authors:
-* RFWS: R.F. Warren-Smith (Starlink)
-* DSB: David S Berry (Starlink)
-* NG: Norman Gray (Starlink)
-
-* History:
-* 2-JAN-1996 (RFWS):
-* Original version.
-* 26-JAN-1996 (RFWS):
-* Added function interfaces.
-* 14-JUN-1996 (RFWS):
-* Added AST__FAC and astAt.
-* 20-JUN-1996 (RFWS):
-* Added astSetStatus.
-* 16-JUL-1996 (RFWS):
-* Added astWatch.
-* 18-MAR-1998 (RFWS):
-* Make interface available for writing foreign language and
-* graphics interfaces, etc.
-* 27-NOV-2002 (DSB):
-* Added astReporting.
-* 14-MAR-2005 (NG):
-* Added astAssert
-* 20-MAY-2005 (DSB):
-* Modified astAssert so that it does nothing if the AST error
-* status is already set, and also so that does nothing unless
-* the DEBUG macro is defined.
-* 16-FEB-2006 (DSB):
-* Improve efficiency by replacing the astOK_ function with a macro
-* which tests the value of status variable. The pointer which points
-* to the status variable are now global rather than static.
-* 1-MAR-2006 (DSB):
-* Remove astAssert.
-* 19-SEP-2008 (DSB)
-* Big changes for thread-safe version of AST.
-*-
-*/
-
-/* Suppress "operands are evaluated in unspecified order" warnings from
- the Intel icc compiler. These are caused by the astGetStatusPtr_
- function being called several times within each of the macros that
- form the public interface for AST. */
-#ifdef __INTEL_COMPILER
-#pragma warning(disable:981)
-#endif
-
-
-/* Include files. */
-/* ============== */
-#if defined(THREAD_SAFE)
-#include <pthread.h>
-#endif
-
-#if HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-/* Macros. */
-/* ======= */
-#if defined(astCLASS) || defined(astFORTRAN77) /* Protected */
-
-/* Define a facility number that is unique to this library. The number here
- * is the facility code assigned to the AST library, but it doesn't have to
- * be this number -- it only has to be probably unique. If that code were
- * ever to change, then you can update this number if you feel it's tidier
- * that way. */
-#define AST__FAC (1521)
-
-/* Max number of messages which can be deferred when reporting is
- switched off. */
-#define AST__ERROR_MSTACK_SIZE 100
-
-#endif
-
-
-/* This macro expands to an invocation of a specified function, together
- with a call to astAt to record the routine, file and line number at which
- the invocation occurs. These are included in public error reports and are
- stored with public Object identifiers (from which they can be recoivered
- using function astCreatedAt). This is only done for invocations from
- outside of AST (i.e. public invocations). */
-#if defined(astCLASS) || defined(astFORTRAN77)
-#define astERROR_INVOKE(function) (function)
-#elif defined FUNCTION_NAME
-#define astERROR_INVOKE(function) (astAt_(FUNCTION_NAME,__FILE__,__LINE__,0,astGetStatusPtr),(function))
-#else
-#define astERROR_INVOKE(function) (astAt_(NULL,__FILE__,__LINE__,0,astGetStatusPtr),(function))
-#endif
-
-/* Define a dummy __attribute__ macro for use on non-GNU compilers. */
-#ifndef __GNUC__
-# define __attribute__(x) /*NOTHING*/
-#endif
-
-/* Type definitions */
-/* ================ */
-
-/* The interface for the PutErr functions to be passed as an argument
- to astSetPutErr. */
-typedef void (* AstPutErrFun)( int, const char * );
-
-/* The interface for the PutErr wrapper functions to be passed as an argument
- to astSetPutErrWrapper. */
-typedef void (* AstPutErrFunWrapper)( AstPutErrFun, int, const char * );
-
-/* Define a structure to hold information about an error context. */
-typedef struct AstErrorContext {
- int reporting; /* Value of error reporting flag at start of context */
- int ok; /* Was the status value OK at start of context? */
- int status; /* The status value at the start of the context */
-} AstErrorContext;
-
-#if defined(THREAD_SAFE) && ( defined(astCLASS) || defined(astFORTRAN77) )
-
-/* Define a structure holding all data items that are global within the
- error.c file. */
-typedef struct AstErrorGlobals {
-
-/* Reporting flag: delivery of message is supressed if zero. */
- int Reporting;
-
-/* Error context. */
- const char *Current_File; /* Current file name pointer */
- const char *Current_Routine; /* Current routine name pointer */
- int Current_Line; /* Current line number */
- int Foreign_Set; /* Have foreign values been set? */
-
-/* Foreign functions */
- AstPutErrFun PutErr; /* Pointer to registered error handler */
- AstPutErrFunWrapper PutErr_Wrapper; /* Pointer to wrapper for error handler */
-
-/* Un-reported message stack */
- char *Message_Stack[ AST__ERROR_MSTACK_SIZE ];
- int Mstack_Size;
-
-} AstErrorGlobals;
-
-/* Structure to hold the internal status variable, and the status
- pointer for a single thread. */
-typedef struct AstStatusBlock {
- int internal_status;
- int *status_ptr;
-} AstStatusBlock;
-
-#endif
-
-
-/* Function Macros. */
-/* ================ */
-
-#if defined(astCLASS)
-
-/*
-*+
-* Name:
-* astErrorBegin
-
-* Purpose:
-* Begin a new error reporting context.
-
-* Type:
-* Protected macro.
-
-* Synopsis:
-* #include "error.h"
-* astErrorBegin( AstErrorContext *context );
-
-* Description:
-* This macro starts a new error reporting context. It saves any
-* existing error status in the supplied ontext structure, and then
-* clears the status value. It also defers further error reporting.
-*
-* Each invocation of this macro should be followed (eventually) by a
-* matching invocation of astErrorEnd.
-
-* Parameters:
-* context
-* Pointer to a structure in which to to storeinformation about the
-* current error reporting context. This structure should be passed
-* unchanged to the corresponding invocation of astErrorEnd.
-
-*-
-*/
-#define astErrorBegin(context) {\
-\
-/* Save the original error status value. */ \
- (context)->status = astStatus; \
-\
-/* Save a flag indicating if the original error status was good. */ \
- (context)->ok = astOK; \
-\
-/* Switch off the immediate delivery of error messages, recording the \
- original value of the reporting flag. */ \
- (context)->reporting = astReporting( 0 ); \
-\
-/* Clear any existing error condition. */ \
- astClearStatus; \
-}
-
-
-/*
-*+
-* Name:
-* astErrorEnd
-
-* Purpose:
-* End an error reporting context.
-
-* Type:
-* Protected macro.
-
-* Synopsis:
-* #include "error.h"
-* astErrorEnd( AstErrorContext *context );
-
-* Description:
-* This macro ends an error reporting context started using
-* astErrorBegin.
-*
-* Each invocation of this macro should correspond to an earlier
-* invocation of astErrorBegin.
-
-* Parameters:
-* context
-* Pointer to a structure holding information returned by the
-* matching invocation of astErrorBegin.
-
-*-
-*/
-#define astErrorEnd(context) { \
-\
-/* If an error condition existed when astErrorBegin was called, and \
- another error has since occurred, clear the deferred messages \
- reported during the error context without displaying them. */ \
- if( !(context)->ok && !astOK ) astClearStatus; \
-\
-/* Put the error reporting flag back to its original value. This will \
- have the effect of displaying any remaining errors reported within \
- the error context (they will already have been cleared if an error \
- condition existed at the start of the context). */ \
- astReporting( (context)->reporting ); \
-\
-/* If an error condition existed at the start of the context, re-instate \
- the original status value. */ \
- if( !(context)->ok ) astSetStatus( (context)->status ); \
-}
-#endif
-
-/* Function prototypes. */
-/* ==================== */
-
-int *astWatch_( int * );
-void astClearStatus_( int * );
-int *astGetStatusPtr_( void )__attribute__((pure));
-void astAt_( const char *, const char *, int, int, int * );
-void astSetPutErr_( AstPutErrFun, int * );
-
-#if defined(astCLASS) || defined(astFORTRAN77) /* Protected only */
-void astSetPutErrWrapper_( AstPutErrFunWrapper, int * );
-int astReporting_( int, int * );
-void astError_( int, const char *, int *, ... )__attribute__((format(printf,2,4)));
-void astBacktrace_( int * );
-void astGetAt_( const char **, const char **, int * );
-
-#if defined(THREAD_SAFE)
-void astInitErrorGlobals_( AstErrorGlobals * );
-#endif
-#endif
-
-void astErrorPublic_( int, const char *, ... )__attribute__((format(printf,2,3)));
-
-
-
-/* Function interfaces. */
-/* ==================== */
-/* These wrap up the functions defined by this module to make them
- easier to use. */
-
-#define astWatch(status_ptr) astWatch_(status_ptr)
-#define astGetStatusPtr astGetStatusPtr_()
-#define astOK (astStatus==0)
-#define astSetStatus(status_value) (astStatus=(status_value))
-
-#if defined(astCLASS) || defined(astFORTRAN77)
-#define STATUS_PTR status
-#else
-#define STATUS_PTR astGetStatusPtr
-#endif
-
-#define astSetPutErr(fun) astSetPutErr_(fun,STATUS_PTR)
-
-#if defined(astCLASS) /* Protected */
-
-#define astAt(routine,file,line) astAt_(routine,file,line,0,status)
-#define astClearStatus astClearStatus_(status)
-#define astStatus (*status)
-#define astError astError_
-#define astReporting(report) astReporting_(report,status)
-#define astBacktrace astBacktrace_(status)
-#define astSetPutErrWrapper(fun) astSetPutErrWrapper_(fun,status)
-#define astGetAt astGetAt_
-
-#elif defined(astFORTRAN77)
-
-#define astAt(routine,file,line) astAt_(routine,file,line,1,STATUS)
-#define astClearStatus astClearStatus_(status)
-#define astStatus (*status)
-#define astError astError_
-#define astReporting(report) astReporting_(report,status)
-#define astSetPutErrWrapper(fun) astSetPutErrWrapper_(fun,status)
-
-#else
-
-#define astAt(routine,file,line) astAt_(routine,file,line,1,astGetStatusPtr)
-#define astClearStatus astClearStatus_(astGetStatusPtr)
-#define astStatus (*astGetStatusPtr)
-#define astError astErrorPublic_
-
-#endif
-
-#endif