Index: src/PNaClTranslator.cpp |
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp |
index fcebeac05538052584630d7a32fc0c0ae8f9eb09..1a6ffe6c2b76f0ab9f231471bbe2081c6f26da66 100644 |
--- a/src/PNaClTranslator.cpp |
+++ b/src/PNaClTranslator.cpp |
@@ -1758,8 +1758,11 @@ void ConstantsParser::ProcessRecord() { |
if (IntegerType *IType = dyn_cast<IntegerType>( |
Context->convertToLLVMType(NextConstantType))) { |
APInt Value(IType->getBitWidth(), NaClDecodeSignRotatedValue(Values[0])); |
- Ice::Constant *C = |
- getContext()->getConstantInt(NextConstantType, Value.getSExtValue()); |
+ Ice::Constant *C = (NextConstantType == Ice::IceType_i64) |
+ ? getContext()->getConstantInt64( |
+ NextConstantType, Value.getSExtValue()) |
+ : getContext()->getConstantInt32( |
+ NextConstantType, Value.getSExtValue()); |
FuncParser->setNextConstantID(C); |
return; |
} |