[PATCH 1/3] eal/windows: fix pedantic build
Thomas Monjalon
thomas at monjalon.net
Thu Jan 5 17:10:18 CET 2023
MinGW GCC 12 shows an illegal pointer conversion
when included in a pedantic module:
lib/eal/windows/include/pthread.h:137:41: error:
ISO C forbids conversion of object pointer to function pointer type
[-Werror=pedantic]
137 | hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)threadfunc,
| ^
Fixes: e8428a9d89f1 ("eal/windows: add some basic functions and macros")
Cc: stable at dpdk.org
By using uintptr_t, the compiler is forced to accept the conversion.
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
lib/eal/windows/include/pthread.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/eal/windows/include/pthread.h b/lib/eal/windows/include/pthread.h
index 27fd2cca52..f7cf0e9ddf 100644
--- a/lib/eal/windows/include/pthread.h
+++ b/lib/eal/windows/include/pthread.h
@@ -134,7 +134,8 @@ pthread_create(void *threadid, const void *threadattr, void *threadfunc,
{
RTE_SET_USED(threadattr);
HANDLE hThread;
- hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)threadfunc,
+ hThread = CreateThread(NULL, 0,
+ (LPTHREAD_START_ROUTINE)(uintptr_t)threadfunc,
args, 0, (LPDWORD)threadid);
if (hThread) {
SetPriorityClass(GetCurrentProcess(), NORMAL_PRIORITY_CLASS);
--
2.39.0
More information about the stable
mailing list