[Vm-dev] [squeak-dev] VM 4.4 build nastinesses - part 1 of probably many

David T. Lewis lewis at mail.msen.com
Wed Feb 13 02:42:52 UTC 2013


On Tue, Feb 12, 2013 at 05:44:16PM -0800, tim Rowledge wrote:
> 
> Now I'm trying to build HostWindowPlugin and there is a type clash that didn't used to be there.
> 
> The old (ie 3.9-ish) version of the header file in Cross has 'dispBits' (as used in primitiveShowHostWindowRect()) declared as unsigned *. The new 4.4 version has it as unsigned char *.
> 
> The generated host plugin code wants it as usqInt *, although it deliberately coerces the arg from the stack to unsigned *, exactly as the ancient version does.
> 
> Since squeakvm.org seems to be dead right now, does anyone recollect a particular reason for a change, let alone how a C compiler would let it through with the clash? I always thought the wonder of strong static typing was supposed to be that you couldn't get a way with such 'mistakes' ?
> 

I don't recall this one in particular, but there are lots of pointer to int
conversion errors throughout the VM and plugins. Many, but definitely not all,
of them have been cleaned up to the point where a VM compiled on a 64-bit
platform is stable and reasonably free of compiler warnings. But many plugins,
very possibly including HostWindowPlugin, still have issues. In the case of
HWP, it is quite likely that I may have "fixed" something and got it wrong.
I mostly work on Linux and there is no Unix implementation of HWP, so it's
quite possible I may have changed the declarations improperly.

Dave



More information about the Vm-dev mailing list