* [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