Who understands this? :)

op enternative() {
  goto ADDRESS(( run_native(interpreter, CUR_OPCODE, (opcode_t *)interpreter->c$
}


The "goto ADDRESS()" syntax appears to be broken, but I have no idea how 
to fix it.  Here are the compiler messages:

gcc:
    core.ops: In function `Parrot_enternative':
    core.ops:2498: warning: return from incompatible pointer type

tcc:
    "core.ops", line 2498: Error:
       [ISO 6.1.2.6]: The types 'long' and 'void *' are incompatible.
       [ISO 6.3.4]: Types in pointer conversion should be compatible.
       [ISO 6.3.16]: Can't perform this conversion by assignment.
       [ISO 6.6.6.4]: 'return' value is converted to function return type.     
lcc:
    core_ops_prederef.c: core.ops:2498: illegal return type; found `pointer to long 
int' expected `pointer to pointer to void'

I don't want to blindly cast this without understanding what the intent 
was.

--Josh

-- 
Josh Wilmes  ([EMAIL PROTECTED]) | http://www.hitchhiker.org



Reply via email to