Add support to the bytecode writer to recognize floating point constants

llvm-svn: 190
diff --git a/llvm/lib/Bytecode/Writer/ConstantWriter.cpp b/llvm/lib/Bytecode/Writer/ConstantWriter.cpp
index 5ca0fca..7e2c930 100644
--- a/llvm/lib/Bytecode/Writer/ConstantWriter.cpp
+++ b/llvm/lib/Bytecode/Writer/ConstantWriter.cpp
@@ -138,10 +138,16 @@
     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: