From: Chris Lattner Date: Fri, 25 Apr 2003 18:28:44 +0000 (+0000) Subject: Only do the %ld -> %lld promotion when running a 64 bit bytecode on a 32 bit host X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=7471c486c03e36721bd43988774b1c43b9cc54e9;p=oota-llvm.git 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 f8e1288f1db..aa900ea3b43 100644 --- a/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp +++ b/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp @@ -377,7 +377,8 @@ GenericValue lle_X_sprintf(FunctionType *M, const vector &Args) { 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);