[PATCH 10/11] widl: Set pointer_size according to host's pointer-size.

Kai Tietz ktietz70 at googlemail.com
Mon Aug 19 09:59:00 CDT 2013


2013/8/19 Alexandre Julliard <julliard at winehq.org>:
> Kai Tietz <ktietz70 at googlemail.com> writes:
>
>> 2013/8/19 Alexandre Julliard <julliard at winehq.org>:
>>> Kai Tietz <ktietz70 at googlemail.com> writes:
>>>
>>>> diff --git a/tools/widl/widl.c b/tools/widl/widl.c
>>>> index 5df99fc..6d8ec87 100644
>>>> --- a/tools/widl/widl.c
>>>> +++ b/tools/widl/widl.c
>>>> @@ -139,7 +139,7 @@ int line_number = 1;
>>>>
>>>>  static FILE *idfile;
>>>>
>>>> -unsigned int pointer_size = 0;
>>>> +unsigned int pointer_size = sizeof(void*);
>>>>  syskind_t typelib_kind = sizeof(void*) == 8 ? SYS_WIN64 : SYS_WIN32;
>>>
>>> This is wrong, the host pointer size shouldn't have any influence on the
>>> generated code.
>>
>> True, nevertheless is the host's pointer-size used as default ... see
>> here typelib_kind variable ... so we should set pointer_size to a
>> proper-default-value too, aren't we?
>
> Typelibs are either 32-bit or 64-bit, so we have to pick one. Generated
> C code should be identical no matter the host platform, and pointer_size
> is set to 0 to enable catching places that depend on it and shouldn't.
>
> What are you trying to fix?
>
> --
> Alexandre Julliard
> julliard at winehq.org

Heh, well, I tried to fix a case where pointer-size is used, but not
proper initialized.  This fix I have now for some time in my repro, so
I forget about the testcase I had.  Actual I had an error about it for
imports AFAI recall.  I will see if I am still be able to reproduce
that and construct a testcase.

Kai



More information about the wine-devel mailing list