[PATCH 1/6] dlls/msvcrt*: ensure variable sse2_cw is set for all code paths in _control87 (GCC11)

Zebediah Figura (she/her) zfigura at codeweavers.com
Wed Sep 29 10:57:41 CDT 2021


On 9/29/21 02:43, Eric Pouech wrote:
> Le 28/09/2021 à 20:01, Zebediah Figura (she/her) a écrit :
>> On 9/28/21 11:49, Eric Pouech wrote:
>>> Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
>>>
>>> ---
>>>   dlls/msvcrt/math.c |    2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
>>> index 7f59a4d20d4..ad632e70548 100644
>>> --- a/dlls/msvcrt/math.c
>>> +++ b/dlls/msvcrt/math.c
>>> @@ -5643,7 +5643,7 @@ unsigned int CDECL _control87(unsigned int 
>>> newval, unsigned int mask)
>>>   {
>>>       unsigned int flags = 0;
>>>   #ifdef __i386__
>>> -    unsigned int sse2_cw;
>>> +    unsigned int sse2_cw = 0;
>>>         __control87_2( newval, mask, &flags, &sse2_cw );
>>>
>>>
>>
>> Wouldn't it be better to check for failure from __control87_2()?
>>
> unfortunately, gcc11 still complains when checking for failure of 
> _control87_2()
> 
> gcc doesn't seem to be smart enough to infer that ss2_cw is always when 
> _control87_2() returns 1

That doesn't match what I have here. With the attached patch gcc 11.1 
doesn't complain.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: scratch.diff
Type: text/x-patch
Size: 510 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20210929/ec3c1a39/attachment-0001.bin>


More information about the wine-devel mailing list