Only do the %ld -> %lld promotion when running a 64 bit bytecode on a 32 bit host


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5942 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
index f8e1288..aa900ea 100644
--- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
@@ -377,7 +377,8 @@
       case 'u': case 'o':
       case 'x': case 'X':
         if (HowLong >= 1) {
-          if (HowLong == 1) {
+          if (HowLong == 1 && TheInterpreter->getModule().has64BitPointers() &&
+              sizeof(long) < sizeof(long long)) {
             // Make sure we use %lld with a 64 bit argument because we might be
             // compiling LLI on a 32 bit compiler.
             unsigned Size = strlen(FmtBuf);