pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c: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: interpret.c,v 1.368 2006/02/27 12:07:10 mast Exp $ + || $Id: interpret.c,v 1.369 2006/02/28 13:00:05 mast Exp $   */      #include "global.h"   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "pike_error.h"
pike.git/src/interpret.c:1433: Inside #if 0
   Pike_fatal("Inter return and escape catch labels are equal: %p\n",    do_inter_return_label);    }   #endif       /* Trick optimizer */    if(!dummy_label)    return 0;    }    +  /* This else is important to avoid an overoptimization bug in (at +  * least) gcc 4.0.2 20050808 which caused the address to be stored +  * in do_inter_return_label to be at the CALL_MACHINE_CODE below. */ +  else {    CALL_MACHINE_CODE(pc);       /* This code is never reached, but will    * prevent gcc from optimizing the labels below too much    */      #ifdef PIKE_DEBUG    fprintf(stderr,"We have reached the end of the world!\n");   #endif -  +  }      #ifdef __GNUC__    goto *dummy_label;   #endif      #if 0    if (dummy_label) {    inter_escape_catch_label:    EXIT_MACHINE_CODE();    return -2;