public inbox for iwd@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH] wired: fix -std=c23 build failure
@ 2024-11-19 22:28 Sergei Trofimovich
  2024-11-20 17:36 ` Denis Kenzior
  0 siblings, 1 reply; 2+ messages in thread
From: Sergei Trofimovich @ 2024-11-19 22:28 UTC (permalink / raw)
  To: iwd; +Cc: Sergei Trofimovich

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(-)

diff --git a/wired/ethdev.c b/wired/ethdev.c
index a933cc18..ed128006 100644
--- a/wired/ethdev.c
+++ b/wired/ethdev.c
@@ -312,8 +312,9 @@ static bool pae_read(struct l_io *io, void *user_data)
 	return true;
 }
 
-static void pae_destroy()
+static void pae_destroy(void * user_data)
 {
+	(void)user_data;
 	pae_io = NULL;
 }
 
-- 
2.47.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] wired: fix -std=c23 build failure
  2024-11-19 22:28 [PATCH] wired: fix -std=c23 build failure Sergei Trofimovich
@ 2024-11-20 17:36 ` Denis Kenzior
  0 siblings, 0 replies; 2+ messages in thread
From: Denis Kenzior @ 2024-11-20 17:36 UTC (permalink / raw)
  To: Sergei Trofimovich, iwd

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-11-20 17:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-19 22:28 [PATCH] wired: fix -std=c23 build failure Sergei Trofimovich
2024-11-20 17:36 ` Denis Kenzior

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox