Re: [PATCH] wired: fix -std=c23 build failure

Denis Kenzior <[email protected]>
Newsgroups dev.linux.lists.iwd
Message-ID <[email protected]>
Hi Sergei,

On 11/19/24 4:28 PM, Sergei Trofimovich wrote:
> gcc-15 switched to -std=c23 by default:
> 
>      https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
> 
> As a result `iwd` fails the build as:
> 
>      wired/ethdev.c: In function 'pae_open':
>      wired/ethdev.c:340:55:
>        error: passing argument 4 of 'l_io_set_read_handler'
>          from incompatible pointer type [-Wincompatible-pointer-types]
>        340 |         l_io_set_read_handler(pae_io, pae_read, NULL, pae_destroy);
>            |                                                       ^~~~~~~~~~~
>            |                                                       |
>            |                                                       void (*)(void)
>      In file included from ...-ell-0.70-dev/include/ell/ell.h:19,
>                       from wired/ethdev.c:38:
>      ...-ell-0.70-dev/include/ell/io.h:33:68:
>        note: expected 'l_io_destroy_cb_t' {aka 'void (*)(void *)'}
>          but argument is of type 'void (*)(void)'
>         33 |                                 void *user_data, l_io_destroy_cb_t destroy);
>            |                                                  ~~~~~~~~~~~~~~~~~~^~~~~~~
> 
> C23 changed the meaning of `void (*)()` from partially defined prototype
> to `void (*)(void)`.
> ---
>   wired/ethdev.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 

Applied, thanks.

Regards,
-Denis
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.