aboutsummaryrefslogtreecommitdiff
path: root/lib/Bytecode/Reader/Reader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Bytecode/Reader/Reader.cpp')
-rw-r--r--lib/Bytecode/Reader/Reader.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp
index b91604acd7..efdb4f17d2 100644
--- a/lib/Bytecode/Reader/Reader.cpp
+++ b/lib/Bytecode/Reader/Reader.cpp
@@ -1408,17 +1408,10 @@ Value *BytecodeReader::ParseConstantPoolValue(unsigned TypeID) {
const IntegerType *IT = cast<IntegerType>(Ty);
if (IT->getBitWidth() <= 32) {
uint32_t Val = read_vbr_uint();
- if (IT->getBitWidth() == 1) {
- if (Val != 0 && Val != 1)
- error("Invalid boolean value read.");
- Result = ConstantInt::get(Type::Int1Ty, Val == 1);
- if (Handler) Handler->handleConstantValue(Result);
- } else {
- if (!ConstantInt::isValueValidForType(Ty, uint64_t(Val)))
- error("Integer value read is invalid for type.");
- Result = ConstantInt::get(IT, Val);
- if (Handler) Handler->handleConstantValue(Result);
- }
+ if (!ConstantInt::isValueValidForType(Ty, uint64_t(Val)))
+ error("Integer value read is invalid for type.");
+ Result = ConstantInt::get(IT, Val);
+ if (Handler) Handler->handleConstantValue(Result);
} else if (IT->getBitWidth() <= 64) {
uint64_t Val = read_vbr_uint64();
if (!ConstantInt::isValueValidForType(Ty, Val))