diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index 91975547e5f..8b282a03f00 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -505,10 +505,10 @@ static GenericValue size_t_to_GV (size_t n) {
 static size_t GV_to_size_t (GenericValue GV) { 
   size_t count;
   if (sizeof (size_t) == sizeof (uint64_t)) {
-    count = GV.ULongVal;
+    count = (size_t)GV.ULongVal;
   } else {
     assert (sizeof (size_t) == sizeof (unsigned int));
-    count = GV.UIntVal;
+    count = (size_t)GV.UIntVal;
   }
   return count;
 }