pike.git / src / pike_error.h

version» Context lines:

pike.git/src/pike_error.h:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: pike_error.h,v 1.36 2004/11/14 17:44:05 mast Exp $ + || $Id: pike_error.h,v 1.37 2006/02/27 12:07:10 mast Exp $   */      #ifndef PIKE_ERROR_H   #define PIKE_ERROR_H      #include <stdarg.h>      #ifdef CONFIGURE_TEST      #include <stdio.h>
pike.git/src/pike_error.h:108:    struct JMP_BUF *previous;    LOW_JMP_BUF recovery;    struct pike_frame *frame_pointer;    ptrdiff_t stack_pointer;    ptrdiff_t mark_sp;    INT32 severity;    ONERROR *onerror;   #ifdef PIKE_DEBUG    int line;    char *file; +  int on_stack;   #endif   } JMP_BUF;      PMOD_EXPORT extern struct svalue throw_value;   extern int throw_severity;      #ifdef PIKE_DEBUG   PMOD_EXPORT extern const char msg_unsetjmp_nosync_1[];   PMOD_EXPORT extern const char msg_unsetjmp_nosync_2[];   #define UNSETJMP(X) do{ \
pike.git/src/pike_error.h:137:    Pike_interpreter.recoveries=X.previous; \    check_recovery_context(); \    }while (0)      #ifdef DMALLOC_LOCATION   #define PERR_LOCATION() DMALLOC_LOCATION()   #else   #define PERR_LOCATION() ( __FILE__ ":" DEFINETOSTR(__LINE__) )   #endif    - #define DEBUG_LINE_ARGS ,char *location - #define SETJMP(X) LOW_SETJMP((init_recovery(&X, 0, PERR_LOCATION())->recovery)) + #define DEBUG_INIT_REC_ARGS , int on_stack, char *location + #define SETJMP(X) LOW_SETJMP((init_recovery(&X, 0, 1, PERR_LOCATION())->recovery))   #define SETJMP_SP(jmp, stack_pop_levels) \ -  LOW_SETJMP((init_recovery(&jmp, stack_pop_levels, PERR_LOCATION())->recovery)) - #else - #define DEBUG_LINE_ARGS +  LOW_SETJMP((init_recovery(&jmp, stack_pop_levels, 1, PERR_LOCATION())->recovery)) + #else /* !PIKE_DEBUG */ + #define DEBUG_INIT_REC_ARGS   #define SETJMP(X) LOW_SETJMP((init_recovery(&X, 0)->recovery))   #define SETJMP_SP(jmp, stack_pop_levels) \    LOW_SETJMP((init_recovery(&jmp, stack_pop_levels)->recovery))   #define UNSETJMP(X) Pike_interpreter.recoveries=X.previous - #endif + #endif /* !PIKE_DEBUG */         #ifdef PIKE_DEBUG   #define SET_ONERROR(X,Y,Z) \    do{ \    check_recovery_context(); \    OED_FPRINTF((stderr, "SET_ONERROR(%p, %p, %p) %s:%d\n", \    &(X), (Y), (void *)(Z), __FILE__, __LINE__)); \    X.func=(error_call)(Y); \    DO_IF_DMALLOC( if( X.func == free ) X.func=dmalloc_free;) \
pike.git/src/pike_error.h:228: Inside #if defined(PIKE_DEBUG) && 0
   * /grubba 1998-04-11    */   #define PIKE_ERROR(NAME, TEXT, SP, ARGS) new_error(NAME, TEXT, SP, ARGS, __FILE__, __LINE__)   #else   #define PIKE_ERROR(NAME, TEXT, SP, ARGS) new_error(NAME, TEXT, SP, ARGS, NULL, 0)   #endif /* PIKE_DEBUG */      /* Prototypes begin here */   PMOD_EXPORT void check_recovery_context(void);   PMOD_EXPORT void pike_gdb_breakpoint(INT32 args); - PMOD_EXPORT JMP_BUF *init_recovery(JMP_BUF *r, size_t stack_pop_levels DEBUG_LINE_ARGS); + PMOD_EXPORT JMP_BUF *init_recovery(JMP_BUF *r, size_t stack_pop_levels DEBUG_INIT_REC_ARGS);   PMOD_EXPORT DECLSPEC(noreturn) void pike_throw(void) ATTRIBUTE((noreturn));   PMOD_EXPORT void push_error(const char *description);   PMOD_EXPORT DECLSPEC(noreturn) void low_error(const char *buf) ATTRIBUTE((noreturn));   PMOD_EXPORT void Pike_vsnprintf(char *str, size_t size, const char *fmt, va_list ap);   void DECLSPEC(noreturn) va_error(const char *fmt, va_list args) ATTRIBUTE((noreturn));   PMOD_EXPORT DECLSPEC(noreturn) void new_error(const char *name, const char *text, struct svalue *oldsp,    INT32 args, const char *file, int line) ATTRIBUTE((noreturn));   PMOD_EXPORT void exit_on_error(const void *msg);   PMOD_EXPORT void fatal_on_error(const void *msg);   PMOD_EXPORT DECLSPEC(noreturn) void Pike_error(const char *fmt,...) ATTRIBUTE((noreturn));