libretro / libretro-uae

PUAE libretro
GNU General Public License v2.0
110 stars 60 forks source link

Compile of uae fails when using gcc-14.1.0 #656

Closed heitbaum closed 1 month ago

heitbaum commented 1 month ago

Compile fails with gcc-14.1.0

sources/src/fpp_softfloat.c: In function 'fp_mod':
sources/src/fpp_softfloat.c:356:47: error: passing argument 3 of 'floatx80_mod' from incompatible pointer type [-Wincompatible-pointer-types]
  356 |         a->fpx = floatx80_mod(a->fpx, b->fpx, q, s, &fs);
      |                                               ^
      |                                               |
      |                                               long long unsigned int *
In file included from ./sources/src/include/newcpu.h:16,
                 from sources/src/fpp_softfloat.c:25:
./sources/src/softfloat/softfloat.h:438:58: note: expected 'uint64_t *' {aka 'long unsigned int *'} but argument is of type 'long long unsigned int *'
  438 | floatx80 floatx80_mod( floatx80 a, floatx80 b, uint64_t *q, flag *s, float_status *status );
      |                                                ~~~~~~~~~~^
sources/src/fpp_softfloat.c: In function 'fp_rem':
sources/src/fpp_softfloat.c:368:47: error: passing argument 3 of 'floatx80_rem' from incompatible pointer type [-Wincompatible-pointer-types]
  368 |         a->fpx = floatx80_rem(a->fpx, b->fpx, q, s, &fs);
      |                                               ^
      |                                               |
      |                                               long long unsigned int *
./sources/src/softfloat/softfloat.h:437:58: note: expected 'uint64_t *' {aka 'long unsigned int *'} but argument is of type 'long long unsigned int *'
  437 | floatx80 floatx80_rem( floatx80 a, floatx80 b, uint64_t *q, flag *s, float_status *status );
      |                                                ~~~~~~~~~~^

ref: https://github.com/libretro/libretro-uae/blob/106b98d50dab4b5648067096f0ba54acbf713fd3/sources/src/fpp_softfloat.c#L356