Fix test/Assembler/2007-03-19-NegValue.ll by using the new "isSigned"
parameter on ConstantInt::get to indicate the signedness of the intended
value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35182 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index b929067..aac87d6 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -392,7 +392,7 @@
Ty->getDescription() + "'");
return 0;
}
- return ConstantInt::get(Ty, D.ConstPool64);
+ return ConstantInt::get(Ty, D.ConstPool64, true);
case ValID::ConstUIntVal: // Is it an unsigned const pool reference?
if (!ConstantInt::isValueValidForType(Ty, D.UConstPool64)) {
@@ -401,7 +401,7 @@
"' is invalid or out of range");
return 0;
} else { // This is really a signed reference. Transmogrify.
- return ConstantInt::get(Ty, D.ConstPool64);
+ return ConstantInt::get(Ty, D.ConstPool64, true);
}
} else {
return ConstantInt::get(Ty, D.UConstPool64);
@@ -1742,10 +1742,7 @@
| IntType ESINT64VAL { // integral constants
if (!ConstantInt::isValueValidForType($1, $2))
GEN_ERROR("Constant value doesn't fit in type");
- APInt Val(64, $2);
- uint32_t BitWidth = cast<IntegerType>($1)->getBitWidth();
- Val.sextOrTrunc(BitWidth);
- $$ = ConstantInt::get(Val);
+ $$ = ConstantInt::get($1, $2, true);
CHECK_FOR_ERROR
}
| IntType ESAPINTVAL { // arbitrary precision integer constants
@@ -1761,9 +1758,7 @@
| IntType EUINT64VAL { // integral constants
if (!ConstantInt::isValueValidForType($1, $2))
GEN_ERROR("Constant value doesn't fit in type");
- uint32_t BitWidth = cast<IntegerType>($1)->getBitWidth();
- APInt Val(BitWidth, $2);
- $$ = ConstantInt::get(Val);
+ $$ = ConstantInt::get($1, $2, false);
CHECK_FOR_ERROR
}
| IntType EUAPINTVAL { // arbitrary precision integer constants