D:\build\parrot>nmake ...
cl -nologo -Od -MD -Zi -DDEBUGGING -DWIN32 -D_CONSOLE -DNO_STRICT I../include -Focsub.obj -c csub.c csub.c csub.pmc(47) : error C2039: 'ptrs' : is not a member of '__unnamed' ../include\parrot/pobj.h(38) : see declaration of '__unnamed' NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. Seems like my MSVC++ 6.0 preprocesses #define struct_val ptrs.struct_val as ptrs.ptrs.struct_val 'cause the error dissapears when I add an underscore to struct_val: typedef union UnionVal { ... struct { /* PMC unionval members */ DPOINTER* _struct_val; /* two ptrs, both are defines ... } UnionVal;