hi,
in pike 7.6 the following leads to a clean error:
void do(){}; mixed ___HilfeWrapper() { return do; }
crash.pike:1:do is a reserved word. crash.pike:2:do is a reserved word. crash.pike:2:syntax error, unexpected ';' Pike: Failed to compile script: Compilation failed.
in 7.8 or 7.9 it leads to a fatal crash: pike79 crash.pike crash.pike:1:do is a reserved word. /local/users/mbaehr/src/pike/src/pike_types.c:677: Fatal error: Type mark stack underflow Backtrace at time of fatal: -:1: PikeCompiler("", UNDEFINED, -1, -1, target, UNDEFINED)->compile() -:1: DefaultCompilerEnvironment->compile(PikeCompiler("", UNDEFINED, -1, -1, target, UNDEFINED)) /usr/local/pike/7.9.5/lib/master.pike:1172: compile_string("void do(){}\nmixed ___HilfeWrapper() { return do; }\n","/local/users/mbaehr /home/src/pike/crash.pike",UNDEFINED,/local/users/mbaehr/home/src/pike/crash,0,UNDEFINED) /usr/local/pike/7.9.5/lib/master.pike:1896: master()->low_findprog("/local/users/mbaehr/home/src/pike/crash",".pike",UNDEFINED,UNDEFINE D) /usr/local/pike/7.9.5/lib/master.pike:2011: master()->findprog("/local/users/mbaehr/home/src/pike/crash",".pike",UNDEFINED,UNDEFINED) /usr/local/pike/7.9.5/lib/master.pike:2050: master()->low_cast_to_program("/local/users/mbaehr/home/src/pike/crash","/usr/local/pike/7. 9.5/lib/master.pike",UNDEFINED,UNDEFINED) /usr/local/pike/7.9.5/lib/master.pike:2084: master()->cast_to_program("/local/users/mbaehr/home/src/pike/crash.pike","/usr/local/pike/7 .9.5/lib/master.pike",UNDEFINED) fish: Job 2, “pike79 crash.pike ” terminated by signal SIGABRT (Abort)
this works in different variations.
void do() { mixed bar = ""; } or void do() {} mixed bar() { return ""; }
trigger the same error, whereas
void do(){}
void do(){ write("bar"); }
mixed do(){ return 1; }
all work correctly
greetings, martin.
On Wed, Jan 15, 2014 at 3:19 PM, Martin Bähr mbaehr@email.archlab.tuwien.ac.at wrote:
in 7.8 or 7.9 it leads to a fatal crash:
Also SIGABRTs with 8.0 latest.
ChrisA
pike-devel@lists.lysator.liu.se