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

From: "Fran Litterio" <[email-masked]>
Date: Fri, 15 Aug 2008 13:11:45 -0400

On Fri, Aug 15, 2008 at 12:15 PM, Eli Zaretskii <[email-masked]> wrote:

> > > 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?

I think so.

> Can you try
> the same without the 2 LL suffixes?
>

Yes, omitting the LL suffixes compiles with VS 6, though with several of
these warnings:

   warning C4244: '=' : conversion from 'long double ' to 'long ', possible
loss of data
--
Fran