emacs-devel
[Top][All Lists]
Advanced

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

Re: Windows 64 port


From: Fabrice Popineau
Subject: Re: Windows 64 port
Date: Tue, 21 Feb 2012 00:11:26 +0100

I'll check this patch again before the end of the week since we don't seem to be in a hurry.

All I can say for sure is that in several places the compiler (not gcc, but msvc)
inserted sign extent instructions. I tracked them down to mismatches between ints and intptr_t
or ptrdiff_t. I fixed them by removing all compiler warnings of this kind.
I also had to convert all DWORD uses for adresses to DWORD_PTR (MS recommended
way of dealing with 32/64 bits).

For the record and to make sure everyone is aware of it, compiling with msvc for x64, you get :

C:\Temp>long
short 2
int 4
long 4
long long 8
void* 8

The only difference with x86 is the size of the pointer which is 4 bytes (obviously).

Regards,

Fabrice


2012/2/20 Eli Zaretskii <address@hidden>
> Date: Mon, 20 Feb 2012 12:43:34 -0800
> From: Paul Eggert <address@hidden>
> CC: Eli Zaretskii <address@hidden>, AJMR <address@hidden>,
>  address@hidden
>
> Ideally any changes for Windows 64 would be only to the
> Windows-specific part of the code, so that we don't need to worry
> about its effect on GNU hosts.

gmalloc.c and ralloc.c must be exceptions from this rule, for obvious
reasons.  (Though the 64-bit Windows build probably is, or will be,
the only 64-bit platform to use these two.)

I'd also take a very good look at all the EMACS_UINT uses, and a few
`long's and `unsigned long's in regex.c.



--
Fabrice Popineau
-----------------------------
SUPELEC
Département Informatique
3, rue Joliot Curie
91192 Gif/Yvette Cedex
Tel direct : +33 (0) 169851950
Standard : +33 (0) 169851212
------------------------------



reply via email to

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