diff options
Diffstat (limited to 'lib/Bytecode/Reader/ConstantReader.cpp')
-rw-r--r-- | lib/Bytecode/Reader/ConstantReader.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/Bytecode/Reader/ConstantReader.cpp b/lib/Bytecode/Reader/ConstantReader.cpp index dd47d1c2cf..2994128f7d 100644 --- a/lib/Bytecode/Reader/ConstantReader.cpp +++ b/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; |