]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR regression/54084
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Jul 2012 13:21:21 +0000 (13:21 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Jul 2012 13:21:21 +0000 (13:21 +0000)
* sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix
pointer difference check.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189891 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/sel-sched-ir.c

index 6f75076377b3b18b170d4eac1c763da1cedd5ca6..ec73ade3437520a9ba96b90e2ff585c1717c7059 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR regression/54084
+       * sel-sched-ir.c (cmp_v_in_regset_pool): Clarify logic, fix
+       pointer difference check.
+
 2012-07-26  Bill Schmidt  <wschmidt@linux.ibm.com>
 
        * tree-ssa-loop-ivopts.c (mbc_entry_hash): Remove.
index 4781f059a173b79339d0f8d4b0392a0ba321a3a3..2dfecf5e45bd77dab457d85b01d0f92c2d605544 100644 (file)
@@ -954,7 +954,13 @@ return_regset_to_pool (regset rs)
 static int
 cmp_v_in_regset_pool (const void *x, const void *xx)
 {
-  return *((const regset *) x) - *((const regset *) xx);
+  uintptr_t r1 = (uintptr_t) *((const regset *) x);
+  uintptr_t r2 = (uintptr_t) *((const regset *) xx);
+  if (r1 > r2)
+    return 1;
+  else if (r1 < r2)
+    return -1;
+  gcc_unreachable ();
 }
 #endif