diff options
Diffstat (limited to 'llvm/lib/Bytecode/Writer/ConstantWriter.cpp')
| -rw-r--r-- | llvm/lib/Bytecode/Writer/ConstantWriter.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/lib/Bytecode/Writer/ConstantWriter.cpp b/llvm/lib/Bytecode/Writer/ConstantWriter.cpp index 5ca0fca0d12..7e2c9307b99 100644 --- a/llvm/lib/Bytecode/Writer/ConstantWriter.cpp +++ b/llvm/lib/Bytecode/Writer/ConstantWriter.cpp @@ -138,10 +138,16 @@ bool BytecodeWriter::outputConstant(const ConstPoolVal *CPV) { break; } - case Type::FloatTyID: // Floating point types... - case Type::DoubleTyID: - // TODO: Floating point type serialization - + case Type::FloatTyID: { // Floating point types... + float Tmp = (float)((const ConstPoolFP*)CPV)->getValue(); + output_data(&Tmp, &Tmp+1, Out); + break; + } + case Type::DoubleTyID: { + double Tmp = ((const ConstPoolFP*)CPV)->getValue(); + output_data(&Tmp, &Tmp+1, Out); + break; + } case Type::VoidTyID: case Type::LabelTyID: |

