bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Francis Litterio
Subject: bug#720: Patch to fix CVS Emacs compilation error on Windows XP SP2.
Date: Fri, 15 Aug 2008 09:22:31 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (windows-nt)

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?

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

> 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

Here's the relevant code with line numbers:

  3819    if (global_memory_status_ex (&memstex))
  3820  #if 1
  3821    {
  3822      DWORD tot_hi = memstex.ullTotalPhys >> 32;
  3823      DWORD tot_md = (memstex.ullTotalPhys & 0x00000000ffffffffLL) >> 10;
  3824      DWORD tot_lo = memstex.ullTotalPhys % 1024LL;
  3825      totphys = tot_hi * 4194304.0 + tot_md + tot_lo / 1024.0;
  3826    }
  3827  #else
  3828      totphys = (signed __int64)memstex.ullTotalPhys / 1024.0;
  3829  #endif

--
Fran






reply via email to

[Prev in Thread] Current Thread [Next in Thread]