OSDN Git Service

mingw: squash another warning about a cast
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Fri, 15 Jan 2016 13:24:39 +0000 (14:24 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 15 Jan 2016 22:02:37 +0000 (14:02 -0800)
MSys2's compiler is correct that casting a "void *" to a "DWORD" loses
precision, but in the case of pthread_exit() we know that the value
fits into a DWORD.

Just like casting handles to DWORDs, let's work around this issue by
casting to "intrptr_t" first, and immediately cast to the final type.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/win32/pthread.h

index 8ad1873..d3dd872 100644 (file)
@@ -77,7 +77,7 @@ extern pthread_t pthread_self(void);
 
 static inline int pthread_exit(void *ret)
 {
-       ExitThread((DWORD)ret);
+       ExitThread((DWORD)(intptr_t)ret);
 }
 
 typedef DWORD pthread_key_t;