pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: interpret.c,v 1.223 2001/07/17 17:50:38 grubba Exp $"); + RCSID("$Id: interpret.c,v 1.224 2001/07/17 20:32:36 grubba Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "pike_error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:842:    * returning from the function code (8 bytes off), but that    * should not matter to these return statements. -Hubbe    */       inter_return_label: return -1;    inter_escape_catch_label: return -2;   }      #endif /* __GNUC__ */    + #ifdef sparc + #define SET_PROG_COUNTER(X) (PROG_COUNTER=((char *)X)-8) + #else /* !sparc */ + #define SET_PROG_COUNTER(X) (PROG_COUNTER=(X)) + #endif /* sparc */ +    #undef DONE   #undef FETCH   #undef INTER_RETURN   #undef INTER_ESCAPE_CATCH      #define DONE return   #define FETCH - #define INTER_RETURN {PROG_COUNTER=do_inter_return_label;DONE;} - #define INTER_ESCAPE_CATCH {PROG_COUNTER=do_escape_catch_label;DONE;} + #define INTER_RETURN {SET_PROG_COUNTER(do_inter_return_label);DONE;} + #define INTER_ESCAPE_CATCH {SET_PROG_COUNTER(do_escape_catch_label);DONE;}      #include "interpret_functions_fixed.h"         #else /* PIKE_USE_MACHINE_CODE */         #ifdef HAVE_COMPUTED_GOTO   int lookup_sort_fun(const void *a, const void *b)   {