Branch: Tag:

2006-03-25

2006-03-25 16:31:59 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Workaround for code-generation bugs in icc-8.0/ia64 for check_c_stack().

Rev: src/interpret.h:1.168

2:   || 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.h,v 1.167 2006/03/17 18:01:07 grubba Exp $ + || $Id: interpret.h,v 1.168 2006/03/25 16:31:59 grubba Exp $   */      #ifndef INTERPRET_H
154:   PMOD_EXPORT extern const char Pike_check_c_stack_errmsg[];      #define check_c_stack(X) do { \ -  ptrdiff_t x_= ((char *)&x_) + \ -  STACK_DIRECTION * (Pike_interpreter.c_stack_margin + (X)) - \ -  Pike_interpreter.stack_top ; \ +  ptrdiff_t x_= (((char *)&x_) - Pike_interpreter.stack_top) + \ +  STACK_DIRECTION * (Pike_interpreter.c_stack_margin + (X)); \    x_*=STACK_DIRECTION; \ -  if(x_>0) \ +  if(x_>0) { \    low_error(Pike_check_c_stack_errmsg); \ -  +  /* Pike_fatal("C stack overflow: x_:%p &x_:%p top:%p margin:%p\n", \ +  x_, &x_, Pike_interpreter.stack_top, \ +  Pike_interpreter.c_stack_margin + (X)); */ \ +  } \    }while(0)      #define fatal_check_c_stack(X) do { \