Funny,
I was just having trouble with precompile.pike as well. It's the overloading code. Doesn't seem to handle overloading functions when one way to go takes no arguments.
Haven't figured out how all things are working togheter there yet... ;)
Marcus Agehall (PacketFront) @ Pike (-) developers forum wrote:
There seems to be a bug in precompile.pike in 7.7.
I checked out a fresh copy from CVS this morning and it failed to compile the SQLite module which Nilsson checked in last night.
I looked at the code and found that on line 145, it does
store = GET_RESOBJ_STORAGE(res);
which the C-compiler later complains about.
Some investigation shows that precompile.pike gives the following define for that macro:
#define GET_RESOBJ_STORAGE ((struct ResObj_struct *)(o->storage+ResObj_storage_offset)
which is almost the same as the OBJ2_RESOBJ macro, besides that OBJ2_RESOBJ takes a parameter (o) and has balanced parenthesis.
I do not understand the intended difference between these defines and thus I will leave it up to someone else to sort this out. For now, I'll change the code inte SQLite module to use the OBJ2_RESOBJ() macro.