diff --git a/llvm/lib/Bytecode/Reader/ConstantReader.cpp b/llvm/lib/Bytecode/Reader/ConstantReader.cpp index dd47d1c2cfb6..2994128f7d6d 100644 --- a/llvm/lib/Bytecode/Reader/ConstantReader.cpp +++ b/llvm/lib/Bytecode/Reader/ConstantReader.cpp @@ -139,6 +139,20 @@ bool BytecodeParser::parseConstPoolValue(const uchar *&Buf, break; } + case Type::FloatTyID: { + float F; + if (input_data(Buf, EndBuf, &F, &F+1)) return true; + V = new ConstPoolFP(Ty, F); + break; + } + + case Type::DoubleTyID: { + double Val; + if (input_data(Buf, EndBuf, &Val, &Val+1)) return true; + V = new ConstPoolFP(Ty, Val); + break; + } + case Type::TypeTyID: if (parseTypeConstant(Buf, EndBuf, V)) return true; break;