# 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