From 8675406ceaf254f50769ec721712ccbb5716592f Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 4 Sep 2012 11:16:55 +0100 Subject: [PATCH] Fix mingw64 build by using intptr_t for int->void* casts The viratomictest.c was casting from an int to a void* via a long. This works on Linux or Mingw32, but fails on Mingw64 due to a pointer/integer size mis-match. Replacing 'long' with 'intptr_t' ensures matching type sizes --- tests/viratomictest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/viratomictest.c b/tests/viratomictest.c index 4250329917..4b367026d0 100644 --- a/tests/viratomictest.c +++ b/tests/viratomictest.c @@ -114,7 +114,7 @@ volatile int atomic; static void thread_func(void *data) { - int idx = (int)(long)data; + int idx = (intptr_t)data; int i; int d; @@ -142,7 +142,7 @@ testThreads(const void *data ATTRIBUTE_UNUSED) bucket[i] = 0; for (i = 0; i < THREADS; i++) { - if (virThreadCreate(&(threads[i]), true, thread_func, (void*)(long)i) < 0) + if (virThreadCreate(&(threads[i]), true, thread_func, (void*)(intptr_t)i) < 0) return -1; } -- GitLab