Here are the warnings that remain in MSVC on level 4. 1) core.ops(2481) : warning C4047: 'return' : 'void ** ' differs in levels of indirection from 'long *' This occurs when compiling core_ops_prederef.c. run_native and run_compiled both return a long*. This meshes well with core_ops.c's use of long*, but not core_ops_prederef.c's use of void** for everything. I'm not quite familiar sure how all the enternative stuff works, so I don't know if a simple cast is all that's needed, or if it's more involved.
2) warning C4505: 'debug_key' : unreferenced local function has been removed This is due to the unused function debug_key in key.c. I'm not sure how to address this one, since the function is obviously useful, just not at the moment. :) I could ignore it, disable the warning, or we could #if out the function, to be if'ed in when needed. 3) warning C4206: nonstandard extension used : translation unit is empty Anyone care to explain why parrot.c is the way it is? :) 4) warning C4716: 'Parrot_default_type' : must return a value Lots of these, but these will go away when we get proper exception handling and can throw stuff back to the caller, so we shouldn't worry about these just yet. Mike Lambert