From: Jakub Jelinek Date: Sat, 12 Nov 2022 08:47:50 +0000 (+0100) Subject: libgomp: Fix up build on mingw [PR107641] X-Git-Tag: basepoints/gcc-14~3280 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2a193e9df82917eaf440a20f99a3febe91dcb5fe;p=thirdparty%2Fgcc.git libgomp: Fix up build on mingw [PR107641] Pointers should be first casted to intptr_t/uintptr_t before casting them to another integral type to avoid warnings. Furthermore, the function has code like else if (upper <= UINT_MAX) something; else something_else; so it seems using unsigned type for upper where upper <= UINT_MAX is always true is not intended. 2022-11-12 Jakub Jelinek PR libgomp/107641 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than unsigned long. Change type of upper from unsigned to unsigned long. --- diff --git a/libgomp/env.c b/libgomp/env.c index 0249966e8a6f..279937bb36cb 100644 --- a/libgomp/env.c +++ b/libgomp/env.c @@ -283,7 +283,7 @@ parse_unsigned_long_1 (const char *env, const char *val, unsigned long *pvalue, static bool parse_unsigned_long (const char *env, const char *val, void *const params[]) { - unsigned upper = (unsigned long) params[2]; + unsigned long upper = (uintptr_t) params[2]; unsigned long pvalue = 0; bool ret = parse_unsigned_long_1 (env, val, &pvalue, (bool) params[1]); if (!ret)