<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>