]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* expmed.c (expand_divmod): Add comment.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Feb 2007 19:16:04 +0000 (19:16 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Feb 2007 19:16:04 +0000 (19:16 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121519 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expmed.c

index 95987efeb569b2ac9d3705f5cbc3be00f7e0e156..38dd30edfe18a3f3203efe0ebd38f4d44db7a169 100644 (file)
@@ -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.
index fea859a18c1edb0b1b346a139a1096a230d1499f..8e8a63917a1966784b157c96a0fcf27bae0bd546 100644 (file)
@@ -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);