LONG_PTR and friends
z.figura12 at gmail.com
Wed Dec 4 12:04:00 CST 2019
On 12/4/19 11:28 AM, Jacek Caban wrote:
> Hi Zebediah,
> On 11/26/19 7:48 PM, Zebediah Figura wrote:
>> * Both builtin and native msvcrt always support %I, but it's
>> nonstandard and it spits out warnings when you try to use it when not
>> compiling with mingw.
> I'd say that it looks like a nice solution. Since the warning is
> obviously bogus, I wonder if we should just skip format attribute in
> debug.h when __WINE_USE_MSVCRT is defined and we're not using a cross
Sure, makes sense. I'll try a patch along these lines.
>> * We could also cast to (void *), or cast to a 64-bit type and use
>> wine_dbgstr_longlong(), though this has the unfortunate side effect of
>> forcing us to trace in hexadecimal.
> It's not related to your original problem, but for PE builds (modules
> using -mno-cygwin to be precise), compatibility is not an issue so there
> is no reason for using wine_dbgstr_longlong(). I think we should
> consider using %ll* instead.
That would be nice, especially for places where it'd be more readable to
have decimal traces than hexadecimal. I guess we'd run into warnings
when the "long" type is used, but if we skip the format attribute as
above we won't have anything to worry about.
(Related question: why don't we just always define __int64 to "long long"?)
More information about the wine-devel