c23 is more strict than previous standards Reproducible: Always Steps to Reproduce: emerge -1 =gcc-15.0.0_pre20241117 USE="X a52 aac aalib alsa bluray css dav1d dts dvb dxr3 fbcon flac gtk imagemagick jpeg libcaca mad mmap mng modplug musepack nfs nls opengl pulseaudio sdl speex theora truetype v4l vcd vdr vorbis vpx wavpack wayland xinerama xv xvmc -jack -oss -samba -sftp -vaapi -vdpau (-vidix) (-vis)" emerge -1 = media-libs/xine-lib-1.2.13-r2:1::gentoo Actual Results: ../input/input_file.c: In function ‘file_input_class_get_dir’: ../input/input_file.c:738:43: error: initialization of ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const xine_mrl_t *, const xine_mrl_t *)’ {aka ‘int (*)(const struct xine_mrl_s *, const struct xine_mrl_s *)’} [-Wincompatible-pointer-types] 738 | int (*func) () = file_input_sortfiles_default; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../input/input_file.c:918:59: error: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types] 918 | qsort(dir_files, num_dir_files, sizeof(xine_mrl_t), func); | ^~~~ | | | int (*)(void) In file included from ../../include/xine/xineutils.h:27, from ../../include/xine/input_plugin.h:28, from ../../include/xine/xine_internal.h:35, from builtins.h:26, from builtins.c:29: /usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(void)’ 971 | __compar_fn_t __compar) __nonnull ((1, 4)); | ~~~~~~~~~~~~~~^~~~~~~~ ../input/input_file.c:921:61: error: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types] 921 | qsort(hide_files, num_hide_files, sizeof(xine_mrl_t), func); | ^~~~ | | | int (*)(void) /usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(void)’ 971 | __compar_fn_t __compar) __nonnull ((1, 4)); | ~~~~~~~~~~~~~~^~~~~~~~ ../input/input_file.c:924:61: error: passing argument 4 of ‘qsort’ from incompatible pointer type [-Wincompatible-pointer-types] 924 | qsort(norm_files, num_norm_files, sizeof(xine_mrl_t), func); | ^~~~ | | | int (*)(void) /usr/include/stdlib.h:971:34: note: expected ‘__compar_fn_t’ {aka ‘int (*)(const void *, const void *)’} but argument is of type ‘int (*)(void)’ 971 | __compar_fn_t __compar) __nonnull ((1, 4)); | ~~~~~~~~~~~~~~^~~~~~~~ builds successfully with CFLAGS="${CFLAGS} -std=gnu17"
Created attachment 910507 [details] emerge --info
Created attachment 910508 [details] build failure log
*** Bug 944400 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bde3e9ee2f5346071a8a42aa366c9b615b249f46 commit bde3e9ee2f5346071a8a42aa366c9b615b249f46 Author: Sam James <sam@gentoo.org> AuthorDate: 2024-11-24 23:11:07 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-11-24 23:15:16 +0000 media-libs/xine-lib: build w/ -std=gnu17 Old codebase. Closes: https://bugs.gentoo.org/944147 Signed-off-by: Sam James <sam@gentoo.org> media-libs/xine-lib/xine-lib-1.2.13-r2.ebuild | 3 +++ media-libs/xine-lib/xine-lib-1.2.9999.ebuild | 3 +++ 2 files changed, 6 insertions(+)