projects
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6d941be
)
* expmed.c (expand_divmod): Add comment.
author
Ian Lance Taylor
<iant@google.com>
Fri, 2 Feb 2007 19:16:04 +0000
(19:16 +0000)
committer
Ian Lance Taylor
<ian@gcc.gnu.org>
Fri, 2 Feb 2007 19:16:04 +0000
(19:16 +0000)
From-SVN: r121519
gcc/ChangeLog
patch
|
blob
|
history
gcc/expmed.c
patch
|
blob
|
history
diff --git
a/gcc/ChangeLog
b/gcc/ChangeLog
index 95987efeb569b2ac9d3705f5cbc3be00f7e0e156..38dd30edfe18a3f3203efe0ebd38f4d44db7a169 100644
(file)
--- a/
gcc/ChangeLog
+++ b/
gcc/ChangeLog
@@
-1,3
+1,7
@@
+2007-02-02 Ian Lance Taylor <iant@google.com>
+
+ * expmed.c (expand_divmod): Add comment.
+
2007-02-02 Kazu Hirata <kazu@codesourcery.com>
* emit-rtl.c (renumber_insns): Remove.
diff --git
a/gcc/expmed.c
b/gcc/expmed.c
index fea859a18c1edb0b1b346a139a1096a230d1499f..8e8a63917a1966784b157c96a0fcf27bae0bd546 100644
(file)
--- 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);