Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider fixing compiler warnings and adding -Wall -Wextra -Weverything #3

Open
jaakristioja opened this issue Feb 16, 2016 · 0 comments

Comments

@jaakristioja
Copy link

Please consider fixing the following compiler warnings from GCC and Clang. Most of these can probably be fixed by adding explicit type casts. It would add credibility to the project if these warnings were fixed.

GCC 4.9.3 with -Wall -Wextra -Wpedantic -Wno-padded -Wno-missing-prototypes:

../../source/s_mulAddF32.c: In function 'softfloat_mulAddF32':
../../source/s_mulAddF32.c:186:2: warning: label 'invalid' defined but not used [-Wunused-label]
  invalid:
  ^
../../source/s_mulAddF64.c: In function 'softfloat_mulAddF64':
../../source/s_mulAddF64.c:223:2: warning: label 'invalid' defined but not used [-Wunused-label]
  invalid:
  ^
../../source/s_mulAddF128.c: In function 'softfloat_mulAddF128':
../../source/s_mulAddF128.c:329:2: warning: label 'invalid' defined but not used [-Wunused-label]
  invalid:
  ^
../../source/softfloat_state.c:44:60: warning: ISO C does not allow extra ';' outside of a function [-Wpedantic]
 uint_fast8_t softfloat_detectTininess = init_detectTininess;
../../source/f64_to_i64_r_minMag.c: In function 'f64_to_i64_r_minMag':
../../source/f64_to_i64_r_minMag.c:80:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if ( exact && (absZ<<shiftCount != sig) ) {
                                         ^
../../source/extF80_rem.c: In function 'extF80_rem':
../../source/extF80_rem.c:55:10: warning: variable 'signB' set but not used [-Wunused-but-set-variable]
     bool signB;
          ^
../../source/f128_to_i64_r_minMag.c: In function 'f128_to_i64_r_minMag':
../../source/f128_to_i64_r_minMag.c:94:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if ( exact && (sig0 || (absZ<<shiftCount != sig64)) ) {
                                                  ^
../../source/f128_rem.c: In function 'f128_rem':
../../source/f128_rem.c:53:10: warning: variable 'signB' set but not used [-Wunused-but-set-variable]
     bool signB;
          ^

Clang 3.7.0 with -Wall -Wextra -Weverything -Wpedantic -Wno-padded -Wno-missing-prototypes:

../../source/s_shortShiftRightJam128.c:50:16: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    negCount = -count;
             ~ ^~~~~~
1 warning generated.
../../source/s_shiftRightJam128.c:50:20: warning: implicit conversion changes signedness: 'uint_fast32_t' (aka 'unsigned long') to 'int_fast32_t' (aka 'long') [-Wsign-conversion]
        negCount = -count;
                 ~ ^~~~~~
1 warning generated.
../../source/s_shiftRightJam128Extra.c:50:16: warning: implicit conversion changes signedness: 'uint_fast32_t' (aka 'unsigned long') to 'int_fast32_t' (aka 'long') [-Wsign-conversion]
    negCount = -count;
             ~ ^~~~~~
1 warning generated.
../../source/s_shiftRightJam256M.c:85:28: warning: cast from 'const unsigned long *' to 'unsigned long *' drops const qualifier [-Wcast-qual]
        ptr = (uint64_t *) (aPtr + indexMultiwordLo( 4, wordCount ));
                           ^
../../source/s_shiftRightJam256M.c:86:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
        i = wordCount;
          ~ ^~~~~~~~~
../../source/s_shiftRightJam256M.c:99:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
                4 - wordCount,
                ~~^~~~~~~~~~~
../../source/s_shiftRightJam256M.c:108:25: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
            for ( i = 4 - wordCount; i; --i ) {
                    ~ ~~^~~~~~~~~~~
../../source/s_shiftRightJam256M.c:117:10: warning: variable 'ptr' may be uninitialized when used here [-Wconditional-uninitialized]
        *ptr++ = 0;
         ^~~
../../source/s_shiftRightJam256M.c:78:18: note: initialize the variable 'ptr' to silence this warning
    uint64_t *ptr;
                 ^
                  = 0
5 warnings generated.
../../source/s_countLeadingZeros64.c:54:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        a32 = a;
            ~ ^
1 warning generated.
../../source/s_mul64To128.c:50:10: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    a0 = a;
       ~ ^
../../source/s_mul64To128.c:52:10: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    b0 = b;
       ~ ^
2 warnings generated.
../../source/s_approxRecip32_1.c:61:21: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    r0 = k0s[index] - ((k1s[index] * (uint_fast32_t) eps)>>20);
       ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/s_approxRecip32_1.c:62:14: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    delta0 = ~(uint_fast32_t) ((r0 * (uint_fast64_t) a)>>7);
           ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/s_approxRecip32_1.c:66:12: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    return r;
    ~~~~~~ ^
3 warnings generated.
../../source/s_approxRecipSqrt32_1.c:60:27: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
    index = (a>>27 & 0xE) + oddExpA;
          ~ ~~~~~~~~~~~~~~^~~~~~~~~
../../source/s_approxRecipSqrt32_1.c:62:21: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    r0 = k0s[index] - ((k1s[index] * (uint_fast32_t) eps)>>20);
       ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/s_approxRecipSqrt32_1.c:65:14: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    delta0 = ~(uint_fast32_t) (((uint32_t) ESqrR0 * (uint_fast64_t) a)>>23);
           ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/s_approxRecipSqrt32_1.c:72:12: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    return r;
    ~~~~~~ ^
4 warnings generated.
../../source/s_roundPackToI32.c:67:20: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = sign ? -sig32 : sig32;
          ~        ^~~~~~
../../source/s_roundPackToI32.c:67:29: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = sign ? -sig32 : sig32;
          ~                 ^~~~~
2 warnings generated.
../../source/s_normSubnormalF32Sig.c:46:55: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros32( sig ) - 8;
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../source/s_normSubnormalF32Sig.c:46:49: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    shiftCount = softfloat_countLeadingZeros32( sig ) - 8;
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~
2 warnings generated.
../../source/s_roundPackToF32.c:71:51: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast16_t' (aka 'unsigned long') [-Wsign-conversion]
            sig = softfloat_shiftRightJam32( sig, -exp );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~       ^~~~
../../source/s_roundPackToF32.c:71:46: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
            sig = softfloat_shiftRightJam32( sig, -exp );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~
../../source/s_roundPackToF32.c:89:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
3 warnings generated.
../../source/s_normRoundPackToF32.c:48:55: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros32( sig ) - 1;
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../source/s_normRoundPackToF32.c:48:49: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    shiftCount = softfloat_countLeadingZeros32( sig ) - 1;
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~
../../source/s_normRoundPackToF32.c:51:17: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        uZ.ui = packToF32UI( sign, sig ? exp : 0, sig<<(shiftCount - 7) );
              ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/include/internals.h:88:89: note: expanded from macro 'packToF32UI'
#define packToF32UI( sign, exp, sig ) (((uint32_t) (sign)<<31) + ((uint32_t) (exp)<<23) + (sig))
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
3 warnings generated.
../../source/s_addMagsF32.c:84:53: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast16_t' (aka 'unsigned long') [-Wsign-conversion]
            sigA = softfloat_shiftRightJam32( sigA, -expDiff );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~~
../../source/s_addMagsF32.c:93:53: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast16_t' (aka 'unsigned long') [-Wsign-conversion]
            sigB = softfloat_shiftRightJam32( sigB, expDiff );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~
../../source/s_addMagsF32.c:84:47: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
            sigA = softfloat_shiftRightJam32( sigA, -expDiff );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
../../source/s_addMagsF32.c:93:47: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
            sigB = softfloat_shiftRightJam32( sigB, expDiff );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
../../source/s_addMagsF32.c:105:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
5 warnings generated.
../../source/s_subMagsF32.c:87:45: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast16_t' (aka 'unsigned long') [-Wsign-conversion]
    sigA = softfloat_shiftRightJam32( sigA, -expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~~
../../source/s_subMagsF32.c:101:45: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast16_t' (aka 'unsigned long') [-Wsign-conversion]
    sigB = softfloat_shiftRightJam32( sigB, expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~
../../source/s_subMagsF32.c:87:39: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    sigA = softfloat_shiftRightJam32( sigA, -expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
../../source/s_subMagsF32.c:101:39: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    sigB = softfloat_shiftRightJam32( sigB, expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
../../source/s_subMagsF32.c:111:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
5 warnings generated.
../../source/s_mulAddF32.c:82:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expB | sigB;
                  ^~~~ ~
../../source/s_mulAddF32.c:87:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expA | sigA;
                  ^~~~ ~
../../source/s_mulAddF32.c:134:66: warning: implicit conversion changes signedness: 'long' to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sigZ = sigC + softfloat_shiftRightJam64( sigProd, 32 - expDiff );
                          ~~~~~~~~~~~~~~~~~~~~~~~~~           ~~~^~~~~~~~~
../../source/s_mulAddF32.c:140:53: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
                          (uint_fast64_t) sigC<<32, expDiff );
                                                    ^~~~~~~
../../source/s_mulAddF32.c:152:67: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sig64Z = sig64C - softfloat_shiftRightJam64( sigProd, -expDiff );
                              ~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~~
../../source/s_mulAddF32.c:163:67: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sig64Z = sigProd - softfloat_shiftRightJam64( sig64C, expDiff );
                               ~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~
../../source/s_mulAddF32.c:165:62: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( sig64Z ) - 1;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../source/s_mulAddF32.c:169:60: warning: implicit conversion changes signedness: 'int' to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
            sigZ = softfloat_shortShiftRightJam64( sig64Z, -shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~
../../source/s_mulAddF32.c:194:13: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (expC | sigC) && (signProd != signC) ) {
            ^~~~ ~
../../source/s_mulAddF32.c:186:2: warning: unused label 'invalid' [-Wunused-label]
 invalid:
 ^~~~~~~~
../../source/s_mulAddF32.c:200:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
11 warnings generated.
../../source/s_normSubnormalF64Sig.c:46:55: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros64( sig ) - 11;
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
1 warning generated.
../../source/s_roundPackToF64.c:71:51: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sig = softfloat_shiftRightJam64( sig, -exp );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~       ^~~~
1 warning generated.
../../source/s_normRoundPackToF64.c:48:55: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros64( sig ) - 1;
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
1 warning generated.
../../source/s_addMagsF64.c:86:53: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sigA = softfloat_shiftRightJam64( sigA, -expDiff );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~~
../../source/s_addMagsF64.c:95:53: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sigB = softfloat_shiftRightJam64( sigB, expDiff );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~
2 warnings generated.
../../source/s_subMagsF64.c:87:45: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sigA = softfloat_shiftRightJam64( sigA, -expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~~
../../source/s_subMagsF64.c:101:45: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sigB = softfloat_shiftRightJam64( sigB, expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~
2 warnings generated.
../../source/s_mulAddF64.c:86:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expB | sigB;
                  ^~~~ ~
../../source/s_mulAddF64.c:91:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expA | sigA;
                  ^~~~ ~
../../source/s_mulAddF64.c:145:67: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sig128Z.v64 = softfloat_shiftRightJam64( sig128Z.v64, -expDiff );
                          ~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~
../../source/s_mulAddF64.c:151:56: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig128C = softfloat_shiftRightJam128( sigC, 0, expDiff );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~
../../source/s_mulAddF64.c:195:67: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( sig128Z.v64 ) - 1;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
../../source/s_mulAddF64.c:198:65: warning: implicit conversion changes signedness: 'int' to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
            sigZ = softfloat_shortShiftRightJam64( sig128Z.v64, -shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~~~~
../../source/s_mulAddF64.c:202:46: warning: implicit conversion changes signedness: 'int_fast8_t' (aka 'signed char') to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
                    sig128Z.v64, sig128Z.v0, shiftCount );
                                             ^~~~~~~~~~
../../source/s_mulAddF64.c:233:13: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (expC | sigC) && (signZ != signC) ) {
            ^~~~ ~
../../source/s_mulAddF64.c:223:2: warning: unused label 'invalid' [-Wunused-label]
 invalid:
 ^~~~~~~~
9 warnings generated.
../../source/s_normSubnormalExtF80Sig.c:46:18: warning: implicit conversion changes signedness: 'uint_fast8_t' (aka 'unsigned char') to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros64( sig );
               ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
../../source/s_roundPackToExtF80.c:87:53: warning: implicit conversion changes signedness: 'long' to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            sig = softfloat_shiftRightJam64( sig, 1 - exp );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~       ~~^~~~~
../../source/s_roundPackToExtF80.c:141:66: warning: implicit conversion changes signedness: 'long' to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
                softfloat_shiftRightJam64Extra( sig, sigExtra, 1 - exp );
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 ~~^~~~~
../../source/s_roundPackToExtF80.c:209:20: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = packToExtF80UI64( sign, exp );
                 ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/include/internals.h:129:67: note: expanded from macro 'packToExtF80UI64'
#define packToExtF80UI64( sign, exp ) ((uint_fast16_t) (sign)<<15 | (exp))
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
../../source/s_roundPackToExtF80.c:209:44: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    uZ.s.signExp = packToExtF80UI64( sign, exp );
                   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
../../source/include/internals.h:129:70: note: expanded from macro 'packToExtF80UI64'
#define packToExtF80UI64( sign, exp ) ((uint_fast16_t) (sign)<<15 | (exp))
                                                                     ^
4 warnings generated.
../../source/s_normRoundPackToExtF80.c:59:18: warning: implicit conversion changes signedness: 'uint_fast8_t' (aka 'unsigned char') to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros64( sig );
               ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/s_normRoundPackToExtF80.c:62:62: warning: implicit conversion changes signedness: 'int_fast8_t' (aka 'signed char') to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
        sig128 = softfloat_shortShiftLeft128( sig, sigExtra, shiftCount );
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~                 ^~~~~~~~~~
2 warnings generated.
../../source/s_addMagsExtF80.c:110:63: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64Extra = softfloat_shiftRightJam64Extra( sigA, 0, -expDiff );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~~
../../source/s_addMagsExtF80.c:126:63: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64Extra = softfloat_shiftRightJam64Extra( sigB, 0, expDiff );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~
../../source/s_addMagsExtF80.c:151:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
3 warnings generated.
../../source/s_subMagsExtF80.c:110:51: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sig128 = softfloat_shiftRightJam128( sigA, 0, -expDiff );
             ~~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~~
../../source/s_subMagsExtF80.c:133:51: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sig128 = softfloat_shiftRightJam128( sigB, 0, expDiff );
             ~~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~
../../source/s_subMagsExtF80.c:153:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
3 warnings generated.
../../source/s_normSubnormalF128Sig.c:48:60: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( sig0 ) - 15;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/s_normSubnormalF128Sig.c:58:61: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( sig64 ) - 15;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/s_normSubnormalF128Sig.c:60:59: warning: implicit conversion changes signedness: 'int_fast8_t' (aka 'signed char') to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
        z.sig = softfloat_shortShiftLeft128( sig64, sig0, shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~~~
3 warnings generated.
../../source/s_roundPackToF128.c:82:73: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
                softfloat_shiftRightJam128Extra( sig64, sig0, sigExtra, -exp );
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         ^~~~
1 warning generated.
../../source/s_normRoundPackToF128.c:57:57: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros64( sig64 ) - 15;
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/s_normRoundPackToF128.c:61:64: warning: implicit conversion changes signedness: 'int_fast8_t' (aka 'signed char') to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
            sig128 = softfloat_shortShiftLeft128( sig64, sig0, shiftCount );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~~~
../../source/s_normRoundPackToF128.c:74:33: warning: implicit conversion changes signedness: 'int' to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
                sig64, sig0, 0, -shiftCount );
                                ^~~~~~~~~~~
3 warnings generated.
../../source/s_addMagsF128.c:104:68: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            softfloat_shiftRightJam128Extra( sigA.v64, sigA.v0, 0, -expDiff );
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                        ^~~~~~~~
../../source/s_addMagsF128.c:123:68: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            softfloat_shiftRightJam128Extra( sigB.v64, sigB.v0, 0, expDiff );
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                        ^~~~~~~
2 warnings generated.
../../source/s_subMagsF128.c:103:59: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sigA = softfloat_shiftRightJam128( sigA.v64, sigA.v0, -expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~~                     ^~~~~~~~
../../source/s_subMagsF128.c:124:59: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sigB = softfloat_shiftRightJam128( sigB.v64, sigB.v0, expDiff );
           ~~~~~~~~~~~~~~~~~~~~~~~~~~                     ^~~~~~~
2 warnings generated.
../../source/s_mulAddF128.c:101:19: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expB | sigB.v64 | sigB.v0;
                  ^~~~ ~
../../source/s_mulAddF128.c:106:19: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expA | sigA.v64 | sigA.v0;
                  ^~~~ ~
../../source/s_mulAddF128.c:169:44: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
                        sigZ.v64, sigZ.v0, shiftCount );
                                           ^~~~~~~~~~
../../source/s_mulAddF128.c:195:51: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
            softfloat_shiftRightJam256M( sig256C, expDiff, sig256C );
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~
../../source/s_mulAddF128.c:298:65: warning: implicit conversion loses integer precision: 'int_fast32_t' (aka 'long') to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
                softfloat_shortShiftLeft128( sigZ.v64, sigZ.v0, shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~                     ^~~~~~~~~~
../../source/s_mulAddF128.c:299:63: warning: implicit conversion loses integer precision: 'int_fast32_t' (aka 'long') to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
            x128 = softfloat_shortShiftLeft128( 0, sigZExtra, shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~                ^~~~~~~~~~
../../source/s_mulAddF128.c:309:61: warning: implicit conversion loses integer precision: 'int_fast32_t' (aka 'long') to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
    sigZ = softfloat_shortShiftRight128( sigZ.v64, sigZ.v0, shiftCount );
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                     ^~~~~~~~~~
../../source/s_mulAddF128.c:341:13: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (expC | sigC.v64 | sigC.v0) && (signZ != signC) ) {
            ^~~~ ~
../../source/s_mulAddF128.c:329:2: warning: unused label 'invalid' [-Wunused-label]
 invalid:
 ^~~~~~~~
9 warnings generated.
../../source/softfloat_state.c:44:60: warning: extra ';' outside of a function [-Wextra-semi]
uint_fast8_t softfloat_detectTininess = init_detectTininess;
                                                           ^
1 warning generated.
../../source/ui32_to_f64.c:51:57: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros32( a ) + 21;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
1 warning generated.
../../source/ui32_to_extF80.c:50:22: warning: implicit conversion changes signedness: 'uint_fast8_t' (aka 'unsigned char') to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros32( a );
                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/ui32_to_extF80.c:51:24: warning: implicit conversion changes signedness: 'int' to 'uint_fast16_t' (aka 'unsigned long') [-Wsign-conversion]
        uiZ64 = 0x401E - shiftCount;
              ~ ~~~~~~~^~~~~~~~~~~~
../../source/ui32_to_extF80.c:54:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
3 warnings generated.
../../source/ui32_to_f128.c:50:57: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros32( a ) + 17;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
1 warning generated.
../../source/ui64_to_f32.c:48:53: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros64( a ) - 40;
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/ui64_to_f32.c:58:67: warning: implicit conversion changes signedness: 'int' to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
            (shiftCount < 0) ? softfloat_shortShiftRightJam64( a, -shiftCount )
                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     ^~~~~~~~~~~
../../source/ui64_to_f32.c:51:17: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
            a ? packToF32UI(
                ^~~~~~~~~~~~
../../source/include/internals.h:88:89: note: expanded from macro 'packToF32UI'
#define packToF32UI( sign, exp, sig ) (((uint32_t) (sign)<<31) + ((uint32_t) (exp)<<23) + (sig))
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
3 warnings generated.
../../source/ui64_to_extF80.c:50:22: warning: implicit conversion changes signedness: 'uint_fast8_t' (aka 'unsigned char') to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( a );
                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/ui64_to_extF80.c:51:24: warning: implicit conversion changes signedness: 'int' to 'uint_fast16_t' (aka 'unsigned long') [-Wsign-conversion]
        uiZ64 = 0x403E - shiftCount;
              ~ ~~~~~~~^~~~~~~~~~~~
../../source/ui64_to_extF80.c:54:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
3 warnings generated.
../../source/ui64_to_f128.c:53:57: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( a ) + 49;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/ui64_to_f128.c:58:55: warning: implicit conversion changes signedness: 'int_fast8_t' (aka 'signed char') to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
            zSig = softfloat_shortShiftLeft128( 0, a, shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~~~~
2 warnings generated.
../../source/i32_to_f64.c:56:60: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros32( absA ) + 21;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/i32_to_f64.c:56:53: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        shiftCount = softfloat_countLeadingZeros32( absA ) + 21;
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
2 warnings generated.
../../source/i32_to_extF80.c:56:22: warning: implicit conversion changes signedness: 'uint_fast8_t' (aka 'unsigned char') to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros32( absA );
                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/i32_to_extF80.c:57:48: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
        uiZ64 = packToExtF80UI64( sign, 0x401E - shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
../../source/include/internals.h:129:70: note: expanded from macro 'packToExtF80UI64'
#define packToExtF80UI64( sign, exp ) ((uint_fast16_t) (sign)<<15 | (exp))
                                                                     ^
../../source/i32_to_extF80.c:60:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
../../source/i32_to_extF80.c:56:53: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        shiftCount = softfloat_countLeadingZeros32( absA );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
4 warnings generated.
../../source/i32_to_f128.c:54:60: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros32( absA ) + 17;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/i32_to_f128.c:54:53: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        shiftCount = softfloat_countLeadingZeros32( absA ) + 17;
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
2 warnings generated.
../../source/i64_to_f32.c:53:56: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
    shiftCount = softfloat_countLeadingZeros64( absA ) - 40;
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/i64_to_f32.c:64:57: warning: implicit conversion changes signedness: 'int' to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
                ? softfloat_shortShiftRightJam64( absA, -shiftCount )
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~~~~~~
../../source/i64_to_f32.c:56:17: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
            a ? packToF32UI(
                ^~~~~~~~~~~~
../../source/include/internals.h:88:89: note: expanded from macro 'packToF32UI'
#define packToF32UI( sign, exp, sig ) (((uint32_t) (sign)<<31) + ((uint32_t) (exp)<<23) + (sig))
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
3 warnings generated.
../../source/i64_to_f64.c:50:13: warning: implicit conversion changes signedness: 'int64_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (a & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) {
            ^ ~
1 warning generated.
../../source/i64_to_extF80.c:56:22: warning: implicit conversion changes signedness: 'uint_fast8_t' (aka 'unsigned char') to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( absA );
                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../source/i64_to_extF80.c:57:48: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
        uiZ64 = packToExtF80UI64( sign, 0x403E - shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
../../source/include/internals.h:129:70: note: expanded from macro 'packToExtF80UI64'
#define packToExtF80UI64( sign, exp ) ((uint_fast16_t) (sign)<<15 | (exp))
                                                                     ^
../../source/i64_to_extF80.c:60:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
3 warnings generated.
../../source/i64_to_f128.c:57:60: warning: implicit conversion changes signedness: 'int' to 'int_fast8_t' (aka 'signed char') [-Wsign-conversion]
        shiftCount = softfloat_countLeadingZeros64( absA ) + 49;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
../../source/i64_to_f128.c:62:58: warning: implicit conversion changes signedness: 'int_fast8_t' (aka 'signed char') to 'uint_fast8_t' (aka 'unsigned char') [-Wsign-conversion]
            zSig = softfloat_shortShiftLeft128( 0, absA, shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~           ^~~~~~~~~~
2 warnings generated.
../../source/f32_to_ui32.c:62:51: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64 = softfloat_shiftRightJam64( sig64, shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~         ^~~~~~~~~~
1 warning generated.
../../source/f32_to_ui64.c:70:64: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64Extra = softfloat_shiftRightJam64Extra( sig64, 0, shiftCount );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~~~~~
1 warning generated.
../../source/f32_to_i32.c:63:51: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64 = softfloat_shiftRightJam64( sig64, shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~         ^~~~~~~~~~
1 warning generated.
../../source/f32_to_i64.c:76:64: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64Extra = softfloat_shiftRightJam64Extra( sig64, 0, shiftCount );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~~~~~
1 warning generated.
../../source/f32_to_ui32_r_minMag.c:58:24: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
1 warning generated.
../../source/f32_to_ui64_r_minMag.c:58:24: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
1 warning generated.
../../source/f32_to_i32_r_minMag.c:59:24: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
../../source/f32_to_i32_r_minMag.c:73:15: warning: implicit conversion changes signedness: 'uint_fast32_t' (aka 'unsigned long') to 'int_fast32_t' (aka 'long') [-Wsign-conversion]
    absZ = sig>>shiftCount;
         ~ ~~~^~~~~~~~~~~~
2 warnings generated.
../../source/f32_to_i64_r_minMag.c:60:24: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
../../source/f32_to_i64_r_minMag.c:77:17: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast64_t' (aka 'long') [-Wsign-conversion]
    absZ = sig64>>shiftCount;
         ~ ~~~~~^~~~~~~~~~~~
2 warnings generated.
../../source/f32_to_extF80.c:85:41: warning: implicit conversion changes signedness: 'long' to 'unsigned long' [-Wsign-conversion]
    uiZ64 = packToExtF80UI64( sign, exp + 0x3F80 );
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../../source/include/internals.h:129:70: note: expanded from macro 'packToExtF80UI64'
#define packToExtF80UI64( sign, exp ) ((uint_fast16_t) (sign)<<15 | (exp))
                                                                     ^
../../source/f32_to_extF80.c:88:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
2 warnings generated.
../../source/f32_roundToInt.c:107:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
1 warning generated.
../../source/f32_mul.c:76:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expB | sigB;
                  ^~~~ ~
../../source/f32_mul.c:81:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expA | sigA;
                  ^~~~ ~
../../source/f32_mul.c:119:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
3 warnings generated.
../../source/f32_div.c:100:21: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
            if ( ! (expA | sigA) ) goto invalid;
                    ^~~~ ~
../../source/f32_div.c:176:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
2 warnings generated.
../../source/f32_rem.c:100:16: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    rem = sigA | 0x00800000;
        ~ ~~~~~^~~~~~~~~~~~
../../source/f32_rem.c:164:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
2 warnings generated.
../../source/f32_sqrt.c:77:17: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( ! (expA | sigA) ) return a;
                ^~~~ ~
../../source/f32_sqrt.c:94:64: warning: implicit conversion loses integer precision: 'int_fast16_t' (aka 'long') to 'unsigned int' [-Wshorten-64-to-32]
        ((uint_fast64_t) sigA * softfloat_approxRecipSqrt32_1( expA, sigA ))
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
../../source/f32_sqrt.c:94:70: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        ((uint_fast64_t) sigA * softfloat_approxRecipSqrt32_1( expA, sigA ))
                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~
../../source/f32_sqrt.c:102:30: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        negRem = shiftedSigZ * shiftedSigZ;
               ~ ~~~~~~~~~~~~^~~~~~~~~~~~~
../../source/f32_sqrt.c:117:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
5 warnings generated.
../../source/f64_to_ui32.c:59:65: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    if ( 0 < shiftCount ) sig = softfloat_shiftRightJam64( sig, shiftCount );
                                ~~~~~~~~~~~~~~~~~~~~~~~~~       ^~~~~~~~~~
1 warning generated.
../../source/f64_to_ui64.c:73:60: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sigExtra = softfloat_shiftRightJam64Extra( sig, 0, shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~
1 warning generated.
../../source/f64_to_i32.c:60:65: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    if ( 0 < shiftCount ) sig = softfloat_shiftRightJam64( sig, shiftCount );
                                ~~~~~~~~~~~~~~~~~~~~~~~~~       ^~~~~~~~~~
1 warning generated.
../../source/f64_to_i64.c:78:60: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sigExtra = softfloat_shiftRightJam64Extra( sig, 0, shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~
1 warning generated.
../../source/f64_to_ui32_r_minMag.c:58:24: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
1 warning generated.
../../source/f64_to_ui64_r_minMag.c:58:24: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
1 warning generated.
../../source/f64_to_i32_r_minMag.c:59:24: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
../../source/f64_to_i32_r_minMag.c:79:15: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast32_t' (aka 'long') [-Wsign-conversion]
    absZ = sig>>shiftCount;
         ~ ~~~^~~~~~~~~~~~
2 warnings generated.
../../source/f64_to_i64_r_minMag.c:70:19: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast64_t' (aka 'long') [-Wsign-conversion]
        absZ = sig<<-shiftCount;
             ~ ~~~^~~~~~~~~~~~~
../../source/f64_to_i64_r_minMag.c:73:28: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
            if ( exact && (exp | sig) ) {
                           ^~~ ~
../../source/f64_to_i64_r_minMag.c:79:19: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast64_t' (aka 'long') [-Wsign-conversion]
        absZ = sig>>shiftCount;
             ~ ~~~^~~~~~~~~~~~
../../source/f64_to_i64_r_minMag.c:80:41: warning: comparison of integers of different signs: 'int_fast64_t' (aka 'long') and 'uint_fast64_t' (aka 'unsigned long') [-Wsign-compare]
        if ( exact && (absZ<<shiftCount != sig) ) {
                       ~~~~~~~~~~~~~~~~ ^  ~~~
4 warnings generated.
../../source/f64_to_f32.c:70:13: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (exp | sig32) ) {
            ^~~ ~
../../source/f64_to_f32.c:76:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
2 warnings generated.
../../source/f64_to_extF80.c:85:41: warning: implicit conversion changes signedness: 'long' to 'unsigned long' [-Wsign-conversion]
    uiZ64 = packToExtF80UI64( sign, exp + 0x3C00 );
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../../source/include/internals.h:129:70: note: expanded from macro 'packToExtF80UI64'
#define packToExtF80UI64( sign, exp ) ((uint_fast16_t) (sign)<<15 | (exp))
                                                                     ^
../../source/f64_to_extF80.c:88:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
2 warnings generated.
../../source/f64_mul.c:85:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expB | sigB;
                  ^~~~ ~
../../source/f64_mul.c:90:19: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expA | sigA;
                  ^~~~ ~
2 warnings generated.
../../source/f64_div.c:97:21: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
            if ( ! (expA | sigA) ) goto invalid;
                    ^~~~ ~
../../source/f64_div.c:134:14: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
        q &= ~7;
          ~~ ^~
2 warnings generated.
../../source/f64_sqrt.c:79:17: warning: implicit conversion changes signedness: 'int_fast16_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( ! (expA | sigA) ) return a;
                ^~~~ ~
../../source/f64_sqrt.c:98:18: warning: implicit conversion loses integer precision: 'uint_fast64_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    sig32A = sigA>>21;
           ~ ~~~~^~~~
../../source/f64_sqrt.c:99:50: warning: implicit conversion loses integer precision: 'int_fast16_t' (aka 'long') to 'unsigned int' [-Wshorten-64-to-32]
    recipSqrt32 = softfloat_approxRecipSqrt32_1( expA, sig32A );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
3 warnings generated.
../../source/extF80_to_ui32.c:60:43: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sig = softfloat_shiftRightJam64( sig, shiftCount );
          ~~~~~~~~~~~~~~~~~~~~~~~~~       ^~~~~~~~~~
1 warning generated.
../../source/extF80_to_ui64.c:65:62: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64Extra = softfloat_shiftRightJam64Extra( sig, 0, shiftCount );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~
1 warning generated.
../../source/extF80_to_i32.c:61:43: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
    sig = softfloat_shiftRightJam64( sig, shiftCount );
          ~~~~~~~~~~~~~~~~~~~~~~~~~       ^~~~~~~~~~
1 warning generated.
../../source/extF80_to_i64.c:72:62: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64Extra = softfloat_shiftRightJam64Extra( sig, 0, shiftCount );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~
1 warning generated.
../../source/extF80_to_ui32_r_minMag.c:58:24: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
1 warning generated.
../../source/extF80_to_ui64_r_minMag.c:58:24: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
1 warning generated.
../../source/extF80_to_i32_r_minMag.c:59:24: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
../../source/extF80_to_i32_r_minMag.c:84:15: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast32_t' (aka 'long') [-Wsign-conversion]
    absZ = sig>>shiftCount;
         ~ ~~~^~~~~~~~~~~~
2 warnings generated.
../../source/extF80_to_i64_r_minMag.c:59:24: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig) ) {
                       ^~~ ~
../../source/extF80_to_i64_r_minMag.c:80:15: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast64_t' (aka 'long') [-Wsign-conversion]
    absZ = sig>>shiftCount;
         ~ ~~~^~~~~~~~~~~~
2 warnings generated.
../../source/extF80_to_f32.c:72:13: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (exp | sig32) ) {
            ^~~ ~
../../source/extF80_to_f32.c:82:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
2 warnings generated.
../../source/extF80_to_f64.c:62:13: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (exp | sig) ) {
            ^~~ ~
1 warning generated.
../../source/extF80_roundToInt.c:91:28: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        uiZ64 = signUI64 | exp;
                         ~ ^~~
../../source/extF80_roundToInt.c:119:24: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    uiZ64 = signUI64 | exp;
                     ~ ^~~
../../source/extF80_roundToInt.c:142:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
3 warnings generated.
../../source/extF80_mul.c:91:19: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expB | sigB;
                  ^~~~ ~
../../source/extF80_mul.c:96:19: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expA | sigA;
                  ^~~~ ~
../../source/extF80_mul.c:153:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
3 warnings generated.
../../source/extF80_div.c:198:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
../../source/extF80_div.c:141:55: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul64ByShifted32To128( sigB, q );
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^
../../source/extF80_div.c:153:55: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul64ByShifted32To128( sigB, q );
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^
3 warnings generated.
../../source/extF80_rem.c:163:69: warning: implicit conversion loses integer precision: 'long' to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
        rem = softfloat_shortShiftLeft128( rem.v64, rem.v0, expDiff + 30 );
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~                   ~~~~~~~~^~~~
../../source/extF80_rem.c:219:38: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    uiZ64 = packToExtF80UI64( signA, expA );
            ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../../source/include/internals.h:129:70: note: expanded from macro 'packToExtF80UI64'
#define packToExtF80UI64( sign, exp ) ((uint_fast16_t) (sign)<<15 | (exp))
                                                                     ^
../../source/extF80_rem.c:222:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
../../source/extF80_rem.c:150:59: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
            term = softfloat_mul64ByShifted32To128( sigB, q );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^
../../source/extF80_rem.c:164:55: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul64ByShifted32To128( sigB, q );
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^
5 warnings generated.
../../source/extF80_sqrt.c:163:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
../../source/extF80_sqrt.c:107:50: warning: implicit conversion loses integer precision: 'int_fast32_t' (aka 'long') to 'unsigned int' [-Wshorten-64-to-32]
    recipSqrt32 = softfloat_approxRecipSqrt32_1( expA, sig32A );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
../../source/extF80_sqrt.c:107:56: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    recipSqrt32 = softfloat_approxRecipSqrt32_1( expA, sig32A );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~
../../source/extF80_sqrt.c:121:50: warning: implicit conversion loses integer precision: 'uint_fast64_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    term = softfloat_mul64ByShifted32To128( x64, q );
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       ^
../../source/extF80_sqrt.c:135:64: warning: implicit conversion loses integer precision: 'uint_fast64_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul64ByShifted32To128( x64 + (q>>27), q );
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                 ^
5 warnings generated.
../../source/f128_to_ui32.c:64:51: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64 = softfloat_shiftRightJam64( sig64, shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~         ^~~~~~~~~~
1 warning generated.
../../source/f128_to_ui64.c:68:64: warning: implicit conversion loses integer precision: 'int_fast32_t' (aka 'long') to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
            sig128 = softfloat_shortShiftLeft128( sig64, sig0, -shiftCount );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~~~~
../../source/f128_to_ui64.c:76:65: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sigExtra = softfloat_shiftRightJam64Extra( sig64, sig0, shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~~~
2 warnings generated.
../../source/f128_to_i32.c:64:51: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sig64 = softfloat_shiftRightJam64( sig64, shiftCount );
                ~~~~~~~~~~~~~~~~~~~~~~~~~         ^~~~~~~~~~
1 warning generated.
../../source/f128_to_i64.c:72:64: warning: implicit conversion loses integer precision: 'int_fast32_t' (aka 'long') to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
            sig128 = softfloat_shortShiftLeft128( sig64, sig0, -shiftCount );
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~~~~
../../source/f128_to_i64.c:78:65: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'uint_fast32_t' (aka 'unsigned long') [-Wsign-conversion]
        sigExtra = softfloat_shiftRightJam64Extra( sig64, sig0, shiftCount );
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               ^~~~~~~~~~
2 warnings generated.
../../source/f128_to_ui32_r_minMag.c:59:24: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig64) ) {
                       ^~~ ~
1 warning generated.
../../source/f128_to_ui64_r_minMag.c:70:28: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
            if ( exact && (exp | sig64 | sig0) ) {
                           ^~~ ~
1 warning generated.
../../source/f128_to_i32_r_minMag.c:60:24: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( exact && (exp | sig64) ) {
                       ^~~ ~
../../source/f128_to_i32_r_minMag.c:81:17: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast32_t' (aka 'long') [-Wsign-conversion]
    absZ = sig64>>shiftCount;
         ~ ~~~~~^~~~~~~~~~~~
2 warnings generated.
../../source/f128_to_i64_r_minMag.c:81:37: warning: implicit conversion changes signedness: 'unsigned long' to 'int_fast64_t' (aka 'long') [-Wsign-conversion]
        absZ = sig64<<negShiftCount | sig0>>(shiftCount & 63);
             ~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../../source/f128_to_i64_r_minMag.c:87:28: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
            if ( exact && (exp | sig64 | sig0) ) {
                           ^~~ ~
../../source/f128_to_i64_r_minMag.c:93:21: warning: implicit conversion changes signedness: 'uint_fast64_t' (aka 'unsigned long') to 'int_fast64_t' (aka 'long') [-Wsign-conversion]
        absZ = sig64>>shiftCount;
             ~ ~~~~~^~~~~~~~~~~~
../../source/f128_to_i64_r_minMag.c:94:50: warning: comparison of integers of different signs: 'int_fast64_t' (aka 'long') and 'uint_fast64_t' (aka 'unsigned long') [-Wsign-compare]
        if ( exact && (sig0 || (absZ<<shiftCount != sig64)) ) {
                                ~~~~~~~~~~~~~~~~ ^  ~~~~~
4 warnings generated.
../../source/f128_to_f32.c:71:13: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (exp | sig32) ) {
            ^~~ ~
../../source/f128_to_f32.c:81:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    uZ.ui = uiZ;
          ~ ^~~
2 warnings generated.
../../source/f128_to_extF80.c:94:20: warning: implicit conversion loses integer precision: 'uint_fast16_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wconversion]
    uZ.s.signExp = uiZ64;
                 ~ ^~~~~
1 warning generated.
../../source/f128_to_f64.c:74:13: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
    if ( ! (exp | sig64) ) {
            ^~~ ~
1 warning generated.
../../source/f128_roundToInt.c:88:36: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
                        uiZ.v64 &= ~1;
                                ~~ ^~
1 warning generated.
../../source/f128_mul.c:92:19: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expB | sigB.v64 | sigB.v0;
                  ^~~~ ~
../../source/f128_mul.c:97:19: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        magBits = expA | sigA.v64 | sigA.v0;
                  ^~~~ ~
2 warnings generated.
../../source/f128_div.c:105:21: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
            if ( ! (expA | sigA.v64 | sigA.v0) ) goto invalid;
                    ^~~~ ~
../../source/f128_div.c:137:57: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul128By32( sigB.v64, sigB.v0, q );
               ~~~~~~~~~~~~~~~~~~~~                     ^
../../source/f128_div.c:149:57: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul128By32( sigB.v64, sigB.v0, q );
               ~~~~~~~~~~~~~~~~~~~~                     ^
3 warnings generated.
../../source/f128_rem.c:147:69: warning: implicit conversion loses integer precision: 'long' to 'uint_fast8_t' (aka 'unsigned char') [-Wconversion]
        rem = softfloat_shortShiftLeft128( rem.v64, rem.v0, expDiff + 30 );
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~                   ~~~~~~~~^~~~
../../source/f128_rem.c:136:61: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
            term = softfloat_mul128By32( sigB.v64, sigB.v0, q );
                   ~~~~~~~~~~~~~~~~~~~~                     ^
../../source/f128_rem.c:148:57: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul128By32( sigB.v64, sigB.v0, q );
               ~~~~~~~~~~~~~~~~~~~~                     ^
3 warnings generated.
../../source/f128_sqrt.c:85:17: warning: implicit conversion changes signedness: 'int_fast32_t' (aka 'long') to 'unsigned long' [-Wsign-conversion]
        if ( ! (expA | sigA.v64 | sigA.v0) ) return a;
                ^~~~ ~
../../source/f128_sqrt.c:155:14: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
        q &= ~3;
          ~~ ^~
../../source/f128_sqrt.c:177:33: warning: implicit conversion changes signedness: 'int' to 'uint_fast64_t' (aka 'unsigned long') [-Wsign-conversion]
                    sigZExtra = ~0;
                              ~ ^~
../../source/f128_sqrt.c:105:50: warning: implicit conversion loses integer precision: 'int_fast32_t' (aka 'long') to 'unsigned int' [-Wshorten-64-to-32]
    recipSqrt32 = softfloat_approxRecipSqrt32_1( expA, sig32A );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^~~~
../../source/f128_sqrt.c:105:56: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    recipSqrt32 = softfloat_approxRecipSqrt32_1( expA, sig32A );
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~        ^~~~~~
../../source/f128_sqrt.c:113:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    qs[2] = sig32Z;
          ~ ^~~~~~
../../source/f128_sqrt.c:118:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    qs[1] = q;
          ~ ^
../../source/f128_sqrt.c:123:50: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    term = softfloat_mul64ByShifted32To128( x64, q );
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~       ^
../../source/f128_sqrt.c:136:57: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul128By32( term.v64, term.v0, q );
               ~~~~~~~~~~~~~~~~~~~~                     ^
../../source/f128_sqrt.c:141:13: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    qs[0] = q;
          ~ ^
../../source/f128_sqrt.c:160:59: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        y    = softfloat_mul64ByShifted32To128( term.v0,  q );
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^
../../source/f128_sqrt.c:161:59: warning: implicit conversion loses integer precision: 'uint_fast32_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        term = softfloat_mul64ByShifted32To128( term.v64, q );
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^
12 warnings generated.
zongbox pushed a commit to zongbox/berkeley-softfloat-3 that referenced this issue May 6, 2020
Pass -lm at end of linker command line
DavidEichmann pushed a commit to DavidEichmann/berkeley-softfloat-3 that referenced this issue May 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant