<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="moz-cite-prefix">Le 29/09/2021 à 17:57, Zebediah Figura
(she/her) a écrit :<br>
</div>
<blockquote type="cite"
cite="mid:b2c7f73b-1220-e34b-6a18-805e2746209d@codeweavers.com">On
9/29/21 02:43, Eric Pouech wrote:
<br>
<blockquote type="cite">Le 28/09/2021 à 20:01, Zebediah Figura
(she/her) a écrit :
<br>
<blockquote type="cite">On 9/28/21 11:49, Eric Pouech wrote:
<br>
<blockquote type="cite">Signed-off-by: Eric Pouech
<a class="moz-txt-link-rfc2396E" href="mailto:eric.pouech@gmail.com"><eric.pouech@gmail.com></a>
<br>
<br>
---
<br>
dlls/msvcrt/math.c | 2 +-
<br>
1 file changed, 1 insertion(+), 1 deletion(-)
<br>
<br>
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c
<br>
index 7f59a4d20d4..ad632e70548 100644
<br>
--- a/dlls/msvcrt/math.c
<br>
+++ b/dlls/msvcrt/math.c
<br>
@@ -5643,7 +5643,7 @@ unsigned int CDECL _control87(unsigned
int newval, unsigned int mask)
<br>
{
<br>
unsigned int flags = 0;
<br>
#ifdef __i386__
<br>
- unsigned int sse2_cw;
<br>
+ unsigned int sse2_cw = 0;
<br>
__control87_2( newval, mask, &flags,
&sse2_cw );
<br>
<br>
<br>
</blockquote>
<br>
Wouldn't it be better to check for failure from
__control87_2()?
<br>
<br>
</blockquote>
unfortunately, gcc11 still complains when checking for failure
of _control87_2()
<br>
<br>
gcc doesn't seem to be smart enough to infer that ss2_cw is
always when _control87_2() returns 1
<br>
</blockquote>
<br>
That doesn't match what I have here. With the attached patch gcc
11.1 doesn't complain.<br>
</blockquote>
<p><font face="Helvetica, Arial, sans-serif">what I tried is:</font></p>
<p><font face="Helvetica, Arial, sans-serif">diff --git
a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c<br>
index 7f59a4d20d4..4560040eb9f 100644<br>
--- a/dlls/msvcrt/math.c<br>
+++ b/dlls/msvcrt/math.c<br>
@@ -5645,10 +5645,11 @@ unsigned int CDECL _control87(unsigned
int newval, unsigned int mask)<br>
#ifdef __i386__<br>
unsigned int sse2_cw;<br>
<br>
- __control87_2( newval, mask, &flags, &sse2_cw );<br>
-<br>
- if ((flags ^ sse2_cw) & (_MCW_EM | _MCW_RC)) flags |=
_EM_AMBIGUOUS;<br>
- flags |= sse2_cw;<br>
+ if (__control87_2( newval, mask, &flags, &sse2_cw
))<br>
+ {<br>
+ if ((flags ^ sse2_cw) & (_MCW_EM | _MCW_RC)) flags
|= _EM_AMBIGUOUS;<br>
+ flags |= sse2_cw;<br>
+ }<br>
#else<br>
flags = newval;<br>
_setfp(&flags, mask, NULL, 0);</font></p>
<p><font face="Helvetica, Arial, sans-serif"><br>
</font></p>
<p><font face="Helvetica, Arial, sans-serif">which still gives me
the warnings</font>, when compiling the 32bit part of a wow64
conf</p>
<p>(but not on a pure 32bit conf)</p>
<p>your solution doesn't generate warnings on neither of the two</p>
<p>so will need further investigation on:</p>
<p>- discrepency wrt wow</p>
<p>- why the difference between the two patches</p>
<p><br>
</p>
<p>A+<br>
</p>
</body>
</html>