Subject: bug#9960: Compiling Emacs trunk with MSVC

From: Eli Zaretskii <[email-masked]>
Date: Mon, 21 Nov 2011 08:56:50 -0500

> From: Juanma Barranquero <[email-masked]>
> Date: Mon, 21 Nov 2011 13:14:33 +0100
> Cc: [email-masked], [email-masked], 
> 	[email-masked], [email-masked]
> 
> On Mon, Nov 21, 2011 at 04:51, Eli Zaretskii <[email-masked]> wrote:
> 
> > The hidden assumption is that a long and a pointer are of the same
> > width.  This is true on 32-bit hosts and on 64-bit Posix hosts (which
> > have the LP64 architecture), but not on 64-bit Windows, where long is
> > a 32-bit data type, but a pointer is 64-bit wide.
> 
> Aha, I see. So Fabrice is right: the code should not assume that, and
> mixed uses of long/pointer will have to be "fixed".

One way of fixing that would be to use ptrdiff_t instead of long, I
think.