Fixes for PR114: Thanks to Reid Spencer!

llvm-svn: 10029
diff --git a/llvm/include/Support/HashExtras.h b/llvm/include/Support/HashExtras.h
index 871080c..67f65b5 100644
--- a/llvm/include/Support/HashExtras.h
+++ b/llvm/include/Support/HashExtras.h
@@ -31,7 +31,9 @@
 
 // Provide a hash function for arbitrary pointers...
 template <class T> struct hash<T *> {
-  inline size_t operator()(const T *Val) const { return (size_t)Val; }
+  inline size_t operator()(const T *Val) const {
+    return reinterpret_cast<size_t>(Val);
+  }
 };
 
 }  // End namespace std