This confuses me somewhat. I added some code to URI.pike and gave one variable the wrong name and ended up with
Standards.URI;
lib/modules/Standards.pmod/URI.pike:383:Undefined identifier m.
Program received signal SIGSEGV, Segmentation fault. 0x0806a5dc in yyparse () at language.yacc:3310 3310 language.yacc: No such file or directory. in language.yacc (gdb) bt #0 0x0806a5dc in yyparse () at language.yacc:3310 #1 0x084d9178 in ?? () #2 0x080ffd5f in run_pass2 (c=0x84d90b8) at /home/nilsson/Pike/7.7/src/program.c:6521 #3 0x081001ca in compile (aprog=0x84d90b8, ahandler=0xfffffffe, amajor=383, aminor=383, atarget=0x848b3d8, aplaceholder=0x0) at /home/nilsson/Pike/7.7/src/program.c:6749 #4 0x0814992a in f_compile (args=6) at /home/nilsson/Pike/7.7/src/builtin_functions.c:3462 #5 0x08073e5b in opcode_F_CALL_BUILTIN (arg1=383) at /home/nilsson/Pike/7.7/src/interpret_functions.h:2235 ...
Snooping in COPY_LINE_NUMBER_INFO shows that TO is 0. But I have no clue how it ended up like that.
That would mean mkefuncallnode returned zero. I've no idea how it possibly could do that. It should at least be an integer node if there was an error.
Looks like the line numbers are wrong. The line it really crashes on is 3284, i.e
| open_paren_with_line_info comma_expr2 ')' {$$=$2; COPY_LINE_NUMBER_INFO($$, $1); free_node ($1);}
in expr4.
pike-devel@lists.lysator.liu.se