Previous checkin broke printf(%a) support for fp constants-- re-fix it.
authorBrian Gaeke <gaeke@uiuc.edu>
Wed, 25 Aug 2004 19:37:26 +0000 (19:37 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Wed, 25 Aug 2004 19:37:26 +0000 (19:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16051 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/CBackend/CBackend.cpp
lib/Target/CBackend/Writer.cpp

index 960abd9caf8a8f8426ae057e39ed0506ac1e7087..b8208d4a4c70f6ef464723db986ef9194ed4c588 100644 (file)
@@ -590,7 +590,15 @@ void CWriter::printConstant(Constant *CPV) {
         Out << "LLVM_INF" << (FPC->getType() == Type::FloatTy ? "F" : "")
             << " /*inf*/ ";
       } else {
-        std::string Num = ftostr(FPC->getValue());
+        std::string Num;
+#if HAVE_PRINTF_A
+        // Print out the constant as a floating point number.
+        char Buffer[100];
+        sprintf(Buffer, "%a", FPC->getValue());
+        Num = Buffer;
+#else
+        Num = ftostr(FPC->getValue());
+#endif
         Out << Num;
       }
     }
index 960abd9caf8a8f8426ae057e39ed0506ac1e7087..b8208d4a4c70f6ef464723db986ef9194ed4c588 100644 (file)
@@ -590,7 +590,15 @@ void CWriter::printConstant(Constant *CPV) {
         Out << "LLVM_INF" << (FPC->getType() == Type::FloatTy ? "F" : "")
             << " /*inf*/ ";
       } else {
-        std::string Num = ftostr(FPC->getValue());
+        std::string Num;
+#if HAVE_PRINTF_A
+        // Print out the constant as a floating point number.
+        char Buffer[100];
+        sprintf(Buffer, "%a", FPC->getValue());
+        Num = Buffer;
+#else
+        Num = ftostr(FPC->getValue());
+#endif
         Out << Num;
       }
     }