[GCC] Fix compile time error introduced by PR64111 (GCC FSF).

This fixes a severe compile time issue that was introduced in GCC
FSF by the initial fix for PR6411.  It came into the ChromeOS
compiler as part of svn r220383, which was a merge from Google 4.9.
It came into Google 4.9 as part of svn r219106, which was a merge
of several revisions from the GCC FSF compiler.

BUG=chromium:546241
TEST=Verified it fixed the issue; ran buildbots with patch to verify
no new correctness issues were introduced (x86-alex, falco, daisy);
bootstrapped the compiler and ran GCC dejagnu regression tests.

Change-Id: I1b713d17c753e816a61be2986d1defdb75d5b260
Reviewed-on: https://chromium-review.googlesource.com/307833
Commit-Ready: Caroline Tice <[email protected]>
Tested-by: Caroline Tice <[email protected]>
Reviewed-by: Luis Lozano <[email protected]>
diff --git a/gcc/tree.c b/gcc/tree.c
index 3b1ff76..3b88a4e 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -1120,8 +1120,10 @@
 {
   const_tree const t = (const_tree) x;
 
-  return (TREE_INT_CST_HIGH (t) ^ TREE_INT_CST_LOW (t)
-	  ^ TYPE_UID (TREE_TYPE (t)));
+  hashval_t hash = TYPE_UID (TREE_TYPE (t));
+  hash = iterative_hash_host_wide_int (TREE_INT_CST_HIGH (t), hash);
+  hash = iterative_hash_host_wide_int (TREE_INT_CST_LOW (t), hash);
+  return hash;
 }
 
 /* Return nonzero if the value represented by *X (an INTEGER_CST tree node)