diff options
author | Ian Lance Taylor <iant@google.com> | 2007-02-02 19:16:04 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2007-02-02 19:16:04 +0000 |
commit | 093253be0670270440ce8f0b8a22bdd3856913b7 (patch) | |
tree | ea75359bbaa2e28306d3a1e0dc9ed97e7d652471 /gcc/expmed.c | |
parent | 6d941be35f0528a90d0d85b2973603293ce46f75 (diff) | |
download | gcc-093253be0670270440ce8f0b8a22bdd3856913b7.zip gcc-093253be0670270440ce8f0b8a22bdd3856913b7.tar.gz gcc-093253be0670270440ce8f0b8a22bdd3856913b7.tar.bz2 |
* expmed.c (expand_divmod): Add comment.
From-SVN: r121519
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c index fea859a..8e8a639 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -4176,6 +4176,9 @@ expand_divmod (int rem_flag, enum tree_code code, enum machine_mode mode, HOST_WIDE_INT d = INTVAL (op1); unsigned HOST_WIDE_INT abs_d; + /* Since d might be INT_MIN, we have to cast to + unsigned HOST_WIDE_INT before negating to avoid + undefined signed overflow. */ abs_d = (d >= 0 ? (unsigned HOST_WIDE_INT) d : - (unsigned HOST_WIDE_INT) d); |