diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h b/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h
index f3f65f9..a60a170 100644
--- a/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h
+++ b/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h
@@ -625,7 +625,7 @@
   };
 
   // Decide whether we want to shard m x n contraction by columns or by rows.
-  static bool shardByCol(Index m, Index n, int num_threads) {
+  static bool shardByCol(Index m, Index n, Index num_threads) {
     // Note: we are comparing both n and m against Traits::nr, it is not
     // a mistake. We are trying to figure out how both n and m will fit into
     // the main sharding dimension.
diff --git a/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h b/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h
index 8234e9c..c094563 100644
--- a/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h
+++ b/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h
@@ -155,7 +155,7 @@
   // Steal tries to steal work from other worker threads in best-effort manner.
   Task Steal() {
     PerThread* pt = GetPerThread();
-    unsigned size = queues_.size();
+    const size_t size = queues_.size();
     unsigned r = Rand(&pt->rand);
     unsigned inc = coprimes_[r % coprimes_.size()];
     unsigned victim = r % size;
@@ -219,7 +219,7 @@
 
   int NonEmptyQueueIndex() {
     PerThread* pt = GetPerThread();
-    unsigned size = queues_.size();
+    const size_t size = queues_.size();
     unsigned r = Rand(&pt->rand);
     unsigned inc = coprimes_[r % coprimes_.size()];
     unsigned victim = r % size;
@@ -240,7 +240,7 @@
     PerThread* pt = &per_thread_;
     if (pt->inited) return pt;
     pt->inited = true;
-    pt->rand = std::hash<std::thread::id>()(std::this_thread::get_id());
+    pt->rand = static_cast<unsigned>(std::hash<std::thread::id>()(std::this_thread::get_id()));
     return pt;
   }
 
