We don't need to byteswap, the interpreter assumes the program is running
authorNick Lewycky <nicholas@mxc.ca>
Sun, 8 Nov 2009 05:45:04 +0000 (05:45 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Sun, 8 Nov 2009 05:45:04 +0000 (05:45 +0000)
native anyways. This fixes a crash using %d and similar in a scanf statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86440 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp

index 8c45a36b56a1181bdbe3a1bad5676360c2e7075c..68f70b5208bfcf210fef824261370d8cfdc95490 100644 (file)
@@ -468,8 +468,7 @@ static void ByteswapSCANFResults(LLVMContext &C,
           }
           break;
 
-        case 'e': case 'g': case 'E':
-        case 'f':
+        case 'e': case 'g': case 'E': case 'f':
           if (Long || LongLong) {
             Size = 8; Ty = Type::getDoubleTy(C);
           } else {
@@ -508,9 +507,6 @@ GenericValue lle_X_sscanf(const FunctionType *FT,
   GenericValue GV;
   GV.IntVal = APInt(32, sscanf(Args[0], Args[1], Args[2], Args[3], Args[4],
                         Args[5], Args[6], Args[7], Args[8], Args[9]));
-  ByteswapSCANFResults(FT->getContext(),
-                       Args[1], Args[2], Args[3], Args[4],
-                       Args[5], Args[6], Args[7], Args[8], Args[9], 0);
   return GV;
 }
 
@@ -526,9 +522,6 @@ GenericValue lle_X_scanf(const FunctionType *FT,
   GenericValue GV;
   GV.IntVal = APInt(32, scanf( Args[0], Args[1], Args[2], Args[3], Args[4],
                         Args[5], Args[6], Args[7], Args[8], Args[9]));
-  ByteswapSCANFResults(FT->getContext(),
-                       Args[0], Args[1], Args[2], Args[3], Args[4],
-                       Args[5], Args[6], Args[7], Args[8], Args[9]);
   return GV;
 }