diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2015-06-26 02:35:12 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2015-06-25 19:35:12 -0700 |
commit | cf3e5186466c0c10bd0f0eb70cfb07cd94879ea3 (patch) | |
tree | 0e00a96cda65c555ffea9114b00f70a43f0e5a86 | |
parent | 93c5d1fa354f9ca4ab6d1a739b2052b8f3ef84a3 (diff) | |
download | gcc-cf3e5186466c0c10bd0f0eb70cfb07cd94879ea3.zip gcc-cf3e5186466c0c10bd0f0eb70cfb07cd94879ea3.tar.gz gcc-cf3e5186466c0c10bd0f0eb70cfb07cd94879ea3.tar.bz2 |
Cast return of strtol to unsigned int
strtol returns long, which is compared against unsigned int. On 32-bit
hosts, it leads to
gcc/gentarget-def.c: In function void def_target_insn(const char*, const char*):
gcc/gentarget-def.c:88:34: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
This patch casts return of strtol to unsigned int to avoid the error.
* gentarget-def.c (def_target_insn): Cast return of strtol to
unsigned int.
From-SVN: r224993
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/gentarget-def.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 63b716b..080aa39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-06-25 H.J. Lu <hongjiu.lu@intel.com> + + * gentarget-def.c (def_target_insn): Cast return of strtol to + unsigned int. + 2015-06-25 Andrew MacLeod <amacleod@redhat.com> * gimple.h (gimple_call_set_fn): Move inline function. diff --git a/gcc/gentarget-def.c b/gcc/gentarget-def.c index d4839e8..bca9480 100644 --- a/gcc/gentarget-def.c +++ b/gcc/gentarget-def.c @@ -85,7 +85,7 @@ def_target_insn (const char *name, const char *prototype) That doesn't contribute to the suffix, so skip ahead and process the following character. */ char *endptr; - if (strtol (p + 1, &endptr, 10) != opno + if ((unsigned int) strtol (p + 1, &endptr, 10) != opno || (*endptr != ',' && *endptr != ')')) { error ("invalid prototype for '%s'", name); |