Subject: Re: bug#720: Patch to fix CVS Emacs compilation error on Windows XP SP2.

From: Eli Zaretskii <[email-masked]>
Date: Fri, 15 Aug 2008 19:15:12 +0300

> Date: Fri, 15 Aug 2008 09:22:31 -0400
> From: Francis Litterio <[email-masked]>
> 
> Eli Zaretskii wrote:
> 
> >> From: Francis Litterio
> >> 
> >> 	w32.c(3820) : error C2520: conversion from unsigned __int64 to double not implemented, use signed __int64
> >
> > "Not implemented"?  I'm not sure we want to support such a deficient
> > compiler.
> 
> I would happily use a newer compiler.  The file emacs/nt/INSTALL says
> this:
> 
>    To compile Emacs, you will need either Microsoft Visual C++ 2.0, or
>    later up to 7.0, and nmake
> 
> I didn't realize that I could use a version of VC++ newer than 6.0.  I
> would be happy to abandon 6.0 for building Emacs on Windows.  Is VC++
> 7.0 the compiler that comes with Visual Studio 2003?

Yes.

> What compiler do the Emacs developers use to build on Windows?

The MinGW port of GCC.

> > How about this:
> >
> >   DWORD tot_hi = memstex.ullTotalPhys >> 32;
> >   DWORD tot_md = (memstex.ullTotalPhys & 0x00000000ffffffffLL) >> 10;
> >   DWORD tot_lo = memstex.ullTotalPhys % 1024LL;
> >   totphys = tot_hi * 4194304.0 + tot_md + tot_lo / 1024.0;
> >
> > Does this work?
> 
> Nope:
> 
>   w32.c(3823) : error C2059: syntax error : 'bad suffix on number'
>   w32.c(3823) : error C2146: syntax error : missing ')' before identifier 'L'
>   w32.c(3823) : error C2059: syntax error : ')'
>   w32.c(3824) : error C2059: syntax error : 'bad suffix on number'
>   w32.c(3824) : error C2146: syntax error : missing ';' before identifier 'L'
>   w32.c(3824) : error C2065: 'L' : undeclared identifier

Does it mean that the LL suffix is not supported in VS 6?  Can you try
the same without the 2 LL suffixes?