# New Ticket Created by Mike Lambert # Please include the string: [perl #16735] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=16735 > The following warnings still show up when using Microsoft Visual Studio 6 on Warning Level 4 (3 is default, 4 is max). a) The CHANGE_TYPE macro has an if statement which is known at compiletime, and so MSVC warns me. This one probably isn't worth worrying about. b) csub.pmc(28) : warning C4055: 'type cast' : from data pointer 'void *' to function pointer 'long (__cdecl *)(struct Parrot_Interp *,struct PMC *)' return Parrot_new_csub(INTERP, (Parrot_csub_t)SELF->cache.struct_val); c) core_ops.c(6028) : warning C4210: nonstandard extension used : function given file scope op dlfunc (out PMC, in PMC, in STR) { ... extern PMC * Parrot_new_csub(struct Parrot_Interp *, void (*p)(Interp *, PMC *)); ... } d) interpreter.c(111) : warning C4210: nonstandard extension used : function given file scope extern op_lib_t *PARROT_CORE_PREDEREF_OPLIB_INIT(void); e) method_util.c(25) : warning C4054: 'type cast' : from function pointer 'long (__cdecl *)(struct Parrot_Interp *,struct PMC *)' to data pointer 'void *' ret->cache.struct_val = (DPOINTER*)func; f) parrot.c(24) : warning C4206: nonstandard extension used : translation unit is empty Why do we need this file? Anyone more experienced than I want to take a stab at fixing some of these issues? Thanks, Mike Lambert