This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 64 bit Cygwin target and _WIN64


On 2012-07-18 06:47, Corinna Vinschen wrote:
On Jul 18 06:17, Yaakov (Cygwin/X) wrote:
On 2012-07-18 06:03, Corinna Vinschen wrote:
1. Replace all

#ifdef _WIN64

with

#if defined (_WIN64) || defined (__CYGWIN64__)

Can't that just be #ifdef __x86_64__?

Nope. Think Itanium.

Oh, right, I forgot about Itanium. Hmm, I wonder why? :-)


Also, I would suggest avoiding __CYGWIN64__:  IIRC we used to use
__CYGWIN32__ until M$ trademarked "Win32", leaving us with just
__CYGWIN__;  what happens if they decide to trademark "Win64"?

I don't see the issue here. Cygwin is also a trademark and 32 bitg gcc still defines __CYGWIN32__. We just discouraged the use of it. I think the __CYGWIN__ and __CYGWIN32__ defines on 32 bit and the __CYGWIN__ and __CYGWIN64__ defines on a 64 bit system make sense and are an easy way to distinguish the platforms.

BTW, __CYGWIN32__ will still be defined on x64, right?


4. Let the Cygwin 64 bit gcc define _WIN64 by default.

No way, for the same reason we don't define _WIN32.

But what about 2 and 3?

AFAICS 3 is the status quo; iff you #include <windows.h>, you get _WIN32 (and have to deal with the consequences), otherwise not. That's worked pretty well so far, so let's stick with it.



Yaakov



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]