uses the modifier "%ld". Now lli passes off "%lld" to the underlying runtime
library in this case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3230
91177308-0d34-0410-b5e6-
96231b3b80d8
case 'd': case 'i':
case 'u': case 'o':
case 'x': case 'X':
- if (HowLong == 2)
+ if (HowLong >= 1) {
+ if (HowLong == 1) {
+ // 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);
+ FmtBuf[Size] = FmtBuf[Size-1];
+ FmtBuf[Size+1] = 0;
+ FmtBuf[Size-1] = 'l';
+ }
sprintf(Buffer, FmtBuf, Args[ArgNo++].ULongVal);
- else
+ } else
sprintf(Buffer, FmtBuf, Args[ArgNo++].IntVal); break;
case 'e': case 'E': case 'g': case 'G': case 'f':
sprintf(Buffer, FmtBuf, Args[ArgNo++].DoubleVal); break;