[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    RE: what is this (long long) ????
From:       Patrik Stridvall <ps () leissner ! se>
Date:       1999-12-29 0:51:26
[Download RAW message or body]

> > So if nobody complains I'll change it with a #ifdef for the _WINE_ 
> > (have to check) symbol and a big comment.
> 
> I complain ;-)  

And so do I.

> This kind of stuff must not depend on 
> __WINE__, it must
> depend on whether the compiler supports 64-bit ints or not. If it
> does, LONGLONG must be defined as an int type; 

Yes and furthermore whether the compiler supports it or
not can't be detected in configure since, like
in the anonymous struct/union case, the same headers
might be used for several different compiler.

I must be detected like the __stdcall, __cdecl and 
anonymous struct/union support in include/windef.h is.

> if it doesn't we should
> never touch the QuadPart member (or any LONGLONG value for 
> that matter).

Actually IMHO the QuadPart should never be used internally in Wine,
since we need to support compilers not supporting 64-bit aritmetic
anyway and while having multiple implementations is faster it
is much less maintainable and beside Windows doesn't use LONGLONG
in speed critical API:s IIRC. 

Regardless x86 doesn't have 64-bit native support anyway so
"emulating it" in code ourselves will only be marginally slower
than what a good compiler can manage with 64-bit integers.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic