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  <jakub@redhat.com>

	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.
This commit is contained in:
Jakub Jelinek 2022-11-12 09:47:50 +01:00
parent d4c2f1d376
commit 2a193e9df8

View file

@ -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)