[Bug 281232] emulators/x49gp: Fails to build with GCC 14: error: returning 'x49gp_timer_t *' {aka 'struct x49gp_timer_s *'} from a function with incompatible return type 'QEMUTimer *' [-Wincompatible-pointer-types]

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 03 Sep 2024 13:06:46 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281232

            Bug ID: 281232
           Summary: emulators/x49gp: Fails to build with GCC 14: error:
                    returning 'x49gp_timer_t *' {aka 'struct x49gp_timer_s
                    *'} from a function with incompatible return type
                    'QEMUTimer *' [-Wincompatible-pointer-types]
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
               URL: https://pkg-status.freebsd.org/gohan04/data/140amd64-d
                    efault-foo/2024-08-29_19h57m48s/logs/errors/x49gp-2010
                    0425_9.log
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: shaun@FreeBSD.org
          Reporter: salvadore@freebsd.org
            Blocks: 281091
          Assignee: shaun@FreeBSD.org
             Flags: maintainer-feedback?(shaun@FreeBSD.org)

Build fails with GCC 14. This blocks GCC_DEFAULT update to GCC 14.

gcc14 -O2 -Wall   -Iinclude -Ibitmaps -Iqemu/qemu-git/target-arm
-Iqemu/qemu-git -Iqemu/qemu-git/fpu -Iqemu/qemu-git/arm-softmmu -DTARGET_ARM
-DX49GP -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-fno-strict-aliasing -DNEED_CPU_H -I/usr/local/include/gtk-2.0
-I/usr/local/include/pango-1.0 -I/usr/local/include/atk-1.0
-I/usr/local/include/gdk-pixbuf-2.0 -I/usr/local/include -pthread
-I/usr/local/include/fribidi -I/usr/local/include/cairo
-I/usr/local/include/pixman-1 -D_THREAD_SAFE -I/usr/local/include/harfbuzz
-I/usr/local/include/freetype2 -I/usr/local/include/libpng16
-I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -o timer.o -c
timer.c
timer.c: In function 'qemu_new_timer':
timer.c:156:16: error: returning 'x49gp_timer_t *' {aka 'struct x49gp_timer_s
*'} from a function with incompatible return type 'QEMUTimer *'
[-Wincompatible-pointer-types]
  156 |         return x49gp_new_timer((long) clock, cb, opaque);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
timer.c: In function 'qemu_free_timer':
timer.c:162:33: error: passing argument 1 of 'x49gp_free_timer' from
incompatible pointer type [-Wincompatible-pointer-types]
  162 |         return x49gp_free_timer(ts);
      |                                 ^~
      |                                 |
      |                                 QEMUTimer *
timer.c:78:33: note: expected 'x49gp_timer_t *' {aka 'struct x49gp_timer_s *'}
but argument is of type 'QEMUTimer *'
   78 | x49gp_free_timer(x49gp_timer_t *ts)
      |                  ~~~~~~~~~~~~~~~^~
timer.c: In function 'qemu_mod_timer':
timer.c:168:32: error: passing argument 1 of 'x49gp_mod_timer' from
incompatible pointer type [-Wincompatible-pointer-types]
  168 |         return x49gp_mod_timer(ts, expire_time);
      |                                ^~
      |                                |
      |                                QEMUTimer *
timer.c:104:32: note: expected 'x49gp_timer_t *' {aka 'struct x49gp_timer_s *'}
but argument is of type 'QEMUTimer *'
  104 | x49gp_mod_timer(x49gp_timer_t *ts, int64_t expires)
      |                 ~~~~~~~~~~~~~~~^~
timer.c: In function 'qemu_del_timer':
timer.c:174:32: error: passing argument 1 of 'x49gp_del_timer' from
incompatible pointer type [-Wincompatible-pointer-types]
  174 |         return x49gp_del_timer(ts);
      |                                ^~
      |                                |
      |                                QEMUTimer *
timer.c:84:32: note: expected 'x49gp_timer_t *' {aka 'struct x49gp_timer_s *'}
but argument is of type 'QEMUTimer *'
   84 | x49gp_del_timer(x49gp_timer_t *ts)
      |                 ~~~~~~~~~~~~~~~^~
timer.c: In function 'qemu_timer_pending':
timer.c:180:36: error: passing argument 1 of 'x49gp_timer_pending' from
incompatible pointer type [-Wincompatible-pointer-types]
  180 |         return x49gp_timer_pending(ts);
      |                                    ^~
      |                                    |
      |                                    QEMUTimer *
timer.c:127:36: note: expected 'x49gp_timer_t *' {aka 'struct x49gp_timer_s *'}
but argument is of type 'QEMUTimer *'
  127 | x49gp_timer_pending(x49gp_timer_t *ts)
      |                     ~~~~~~~~~~~~~~~^~
gmake[1]: *** [Makefile:276: timer.o] Error 1
gmake[1]: Leaving directory
'/wrkdirs/usr/ports/emulators/x49gp/work/x49gp/x49gp-code'
gmake: *** [Makefile:323: depend-and-build] Error 2
*** Error code 2

Stop.
make: stopped in /usr/ports/emulators/x49gp

Full log:
https://pkg-status.freebsd.org/gohan04/data/140amd64-default-foo/2024-08-29_19h57m48s/logs/errors/x49gp-20100425_9.log

Useful link: https://gcc.gnu.org/gcc-14/porting_to.html


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281091
[Bug 281091] [exp-run] Update GCC_DEFAULT to 14 etc.
-- 
You are receiving this mail because:
You are the assignee for the bug.