diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-11-12 09:47:50 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-11-12 09:50:04 +0100 |
commit | 2a193e9df82917eaf440a20f99a3febe91dcb5fe (patch) | |
tree | e9ac1a141f6268092539df557d82452c1558597e | |
parent | d4c2f1d376da6fc3f3c30a9d3160e43c95399343 (diff) | |
download | gcc-2a193e9df82917eaf440a20f99a3febe91dcb5fe.zip gcc-2a193e9df82917eaf440a20f99a3febe91dcb5fe.tar.gz gcc-2a193e9df82917eaf440a20f99a3febe91dcb5fe.tar.bz2 |
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.
-rw-r--r-- | libgomp/env.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libgomp/env.c b/libgomp/env.c index 0249966..279937b 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) |