OSDN Git Service

* 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 95987ef..38dd30e 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 fea859a..8e8a639 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);