Build failures with GCC 15 (-std=gnu23)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



alsa-project/alsa-tools issue #25 was edited from kostadinsh:

Some of the programs in alsa-tools fail to build with upcoming GCC 15 which uses `-std=gnu23` by default. This can be reproduced on older GCC and Clang versions by adding `-std=gnu23` to CFLAGS.

Downstream Gentoo bug report: https://bugs.gentoo.org/943946


hdajackretask:
```
apply-changes.c:358:10: error: conflicting types for ‘reset_changes_boot’; have ‘gboolean(GError **)’ {aka ‘int(struct _GError **)’}
  358 | gboolean reset_changes_boot(GError** err)
      |          ^~~~~~~~~~~~~~~~~~
In file included from apply-changes.c:12:
apply-changes.h:12:10: note: previous declaration of ‘reset_changes_boot’ with type ‘gboolean(void)’ {aka ‘int(void)’}
   12 | gboolean reset_changes_boot();
      |          ^~~~~~~~~~~~~~~~~~
main-gtk.c: In function ‘reset_boot_clicked’:
main-gtk.c:375:5: error: too many arguments to function ‘reset_changes_boot’
  375 |     reset_changes_boot(&err);
      |     ^~~~~~~~~~~~~~~~~~
In file included from main-gtk.c:11:
apply-changes.h:12:10: note: declared here
   12 | gboolean reset_changes_boot();
      |          ^~~~~~~~~~~~~~~~~~
```

envy24control:
```
new_process.c: In function ‘new_process’:
new_process.c:67:18: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘__sighandler_t’ {aka ‘void (*)(int)’} [-Wincompatible-pointer-types]
   67 |         int_stat = signal(SIGINT, SIG_IGN);
      |                  ^
new_process.c:68:19: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘__sighandler_t’ {aka ‘void (*)(int)’} [-Wincompatible-pointer-types]
   68 |         quit_stat = signal(SIGQUIT, SIG_IGN);
      |                   ^
new_process.c:69:19: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘__sighandler_t’ {aka ‘void (*)(int)’} [-Wincompatible-pointer-types]
   69 |         usr2_stat = signal(SIGUSR2, SIG_IGN);
      |                   ^
new_process.c:81:24: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
   81 |         signal(SIGINT, int_stat);
      |                        ^~~~~~~~
      |                        |
      |                        void (*)(void)
In file included from envy24control.h:4:
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
   88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
new_process.c:82:25: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
   82 |         signal(SIGQUIT, quit_stat);
      |                         ^~~~~~~~~
      |                         |
      |                         void (*)(void)
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
   88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
new_process.c:83:25: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
   83 |         signal(SIGUSR2, usr2_stat);
      |                         ^~~~~~~~~
      |                         |
      |                         void (*)(void)
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
   88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
```

Issue URL     : https://github.com/alsa-project/alsa-tools/issues/25
Repository URL: https://github.com/alsa-project/alsa-tools




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux