constant using another constant value dumps core.
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3022
Reported by Martin Nilsson, IDA nilsson@pike.ida.liu.se
constant B = 0;
class A {
constant C = B;
}
int main() {}
Starting program: /home/nilsson/Pike/7.3/build/linux-2.4.2-2-i586/pike '-m/home/nilsson/Pike/7.3/build/linux-2.4.2-2-i586/master.pike' 'test.pike' [New Thread 1024 (LWP 8101)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 8101)]
0x080691f3 in find_external_context (loc=0xbfffeae8, arg2=1)
at /home/nilsson/Pike/7.3/src/interpret.c:527
527 switch(loc->inherit->parent_offset)
(gdb) bt
#0 0x080691f3 in find_external_context (loc=0xbfffeae8, arg2=1)
at /home/nilsson/Pike/7.3/src/interpret.c:527
#1 0x08069b7c in opcode_F_EXTERNAL (arg1=0, arg2=1)
at /home/nilsson/Pike/7.3/src/interpret_functions.h:312
#2 0x082eef0b in ?? ()
#3 0x08072c0c in apply_low_safe_and_stupid (o=0x82eeed0, offset=0)
at /home/nilsson/Pike/7.3/src/interpret.c:1517
#4 0x0811677c in eval_low (n=0x82e99dc)
at /home/nilsson/Pike/7.3/src/las.c:5195
#5 0x08061214 in yyparse () at language.yacc:532
#6 0x080ed325 in run_pass1 (c=0x82ee640)
at /home/nilsson/Pike/7.3/src/program.c:5064
#7 0x080ed93b in compile (aprog=0x82ee520, ahandler=0x0, amajor=-1,
aminor=-1, atarget=0x829d9ac, aplaceholder=0x0)
at /home/nilsson/Pike/7.3/src/program.c:5325
#8 0x0811dfe1 in f_compile (args=6)
at /home/nilsson/Pike/7.3/src/builtin_functions.c:3154
#9 0x08070108 in opcode_F_CALL_BUILTIN (arg1=11)
at /home/nilsson/Pike/7.3/src/interpret_functions.h:2036
#10 0x083275e8 in ?? ()
#11 0x0807291b in o_catch (
pc=0x8328588
"¡@=!\b\213\025H=!\b\211\002\203Â\004\211\025H=!\b\213\025P=!\b\213R
\201Â0") at /home/nilsson/Pike/7.3/src/interpret.c:1440
#12 0x0806d1b2 in opcode_F_CATCH ()
at /home/nilsson/Pike/7.3/src/interpret_functions.h:1139
#13 0x08328584 in ?? ()
#14 0x08072840 in mega_apply (type=APPLY_LOW, args=2, arg1=0x82c49a0,
arg2=0x21) at /home/nilsson/Pike/7.3/src/interpret.c:1402
#15 0x080d2220 in o_cast (type=0x829b1e4, run_time_type=5)
at /home/nilsson/Pike/7.3/src/opcodes.c:558
#16 0x080d2e9b in f_cast () at /home/nilsson/Pike/7.3/src/opcodes.c:794
#17 0x0832e352 in ?? ()
#18 0x0807291b in o_catch (pc=0x832e2ff "Ç\004$A")
at /home/nilsson/Pike/7.3/src/interpret.c:1440
#19 0x0806d1b2 in opcode_F_CATCH ()
at /home/nilsson/Pike/7.3/src/interpret_functions.h:1139
#20 0x0832e2fb in ?? ()
#21 0x08072840 in mega_apply (type=APPLY_LOW, args=2, arg1=0x82c49a0,
arg2=0x51) at /home/nilsson/Pike/7.3/src/interpret.c:1402
#22 0x08073327 in apply (o=0x82c49a0, fun=0x819bd37 "_main", args=2)
at /home/nilsson/Pike/7.3/src/interpret.c:1703
#23 0x080c6d61 in main (argc=3, argv=0xbffffaac)
at /home/nilsson/Pike/7.3/src/main.c:716
#24 0x400c7316 in __libc_start_main (main=0x80c63d0 <main>, argc=3,
ubp_av=0xbffffaac, init=0x805f984 <_init>, fini=0x817bfa0 <_fini>,
rtld_fini=0x4000d2fc <_dl_fini>, stack_end=0xbffffa9c)
at ../sysdeps/generic/libc-start.c:129