Branch: Tag:

2000-11-20

2000-11-20 01:20:26 by Martin Stjernholm <mast@lysator.liu.se>

Reserve some stack room to give handle_error a fighting chance to report
out-of-stack errors without getting them itself.

Rev: src/backend.c:1.60
Rev: src/interpret.c:1.173
Rev: src/interpret.h:1.68
Rev: src/las.c:1.222
Rev: src/main.c:1.107
Rev: src/program.c:1.282
Rev: src/threads.c:1.145

5:   \*/   /**/   #include "global.h" - RCSID("$Id: program.c,v 1.281 2000/11/08 22:21:32 hubbe Exp $"); + RCSID("$Id: program.c,v 1.282 2000/11/20 01:20:25 mast Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"
305:       if(SETJMP(tmp))    { -  ONERROR tmp2; -  SET_ONERROR(tmp2, exit_on_error, -  "Error in handle_error in master object!"); -  assign_svalue_no_free(Pike_sp++, &throw_value); -  APPLY_MASTER("handle_error", 1); -  pop_stack(); -  UNSET_ONERROR(tmp2); +  call_handle_error();    yyerror("Couldn't index module.");    } else {    int e = num_used_modules;
2996:       if(SETJMP(tmp2))    { -  ONERROR tmp; +     struct svalue zero;    -  SET_ONERROR(tmp,exit_on_error,"Error in store_constant in compiler!"); -  assign_svalue_no_free(Pike_sp++, & throw_value); -  APPLY_MASTER("handle_error", 1); -  pop_stack(); -  UNSET_ONERROR(tmp); +  call_handle_error();       yyerror("Couldn't store constant.");