On Wed, 24 Oct 2001, Simon Cozens wrote:
> On Wed, Oct 24, 2001 at 01:56:01PM -0700, Brent Dax wrote:
> > After thinking about this for a couple minutes, I came up with a
> > solution involving a macro (I can hear the groans from here):
> > #define VTABLE_CALL(vfunc, type)
> > ((op_func_t)((INTVAL)vfunc+(INTVAL)type))
>
> This is entirely my fault; I asked if this was sane C and it turned
> out not to be. I need to revamp the multimethod business to use arrays.
The MIPSPro is getting annoyed about this as well, I think (I didn't notice
this before as a gcc compiled version of vtable_ops.o confused make):
cc-3316 cc: ERROR File = vtable_ops.c, Line = 49
The expression must be a pointer to a complete object type.
(interpreter->pmc_reg->registers[cur_opcode[2]]->vtable->multiply_1 +
interpreter->pmc_reg->registers[cur_opcode[3]]->vtable->num_type)(interpreter->pmc_reg->registers[cur_opcode[2]],interpreter->pmc_reg->registers[cur_opcode[3]],interpreter->pmc_reg->registers[cur_opcode[1]]);
^
> > Okay, can someone stop with the gcc-isms?
>
> Guilty again. But Alex Gough had a patch which fixed this, and I
> thought he committed it.
I didn't. I'm avoiding things not in t/, although I guess I could stop
doing that. I'll continue not to commit the patch for now.
Alex Gough
--
He may look like an idiot, and talk like an idiot...but
don't let that fool you. He really is an idiot.