* error.c (dump_expr) [REAL_CST]: Output in decimal format.
* g++.dg/other/warning1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57843
138bc75d-0d04-0410-961f-
82ee72b054a4
+2002-10-05 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/7804
+ * error.c (dump_expr) [REAL_CST]: Output in decimal format.
+
2002-10-03 Mark Mitchell <mark@codesourcery.com>
PR c++/7931
break;
case REAL_CST:
- {
- const unsigned char *p = (const unsigned char *) &TREE_REAL_CST (t);
- size_t i;
- strcpy (digit_buffer, "0x");
- for (i = 0; i < sizeof TREE_REAL_CST (t); i++)
- sprintf (digit_buffer + 2 + 2*i, "%02x", *p++);
- }
+ REAL_VALUE_TO_DECIMAL (TREE_REAL_CST (t), digit_buffer, -1);
output_add_string (scratch_buffer, digit_buffer);
break;
+2002-10-05 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
+
+ PR c++/7804
+ * g++.dg/other/warning1.C: New test.
+
2002-10-04 Roger Sayle <roger@eyesopen.com>
* gcc.c-torture/execute/20020720-1.x: XFAIL instead of skipping
--- /dev/null
+// { dg-do compile }
+
+// PR c++/7804
+// Floating point formatting in error and warning messages
+
+extern "C" int printf(const char *, ...);
+
+struct S
+{
+ static const float inf = 1.0f / 0.0f; // { dg-warning "1.0|initialization" }
+ static const float nan = 0.0f / 0.0f; // { dg-warning "0.0|initialization" }
+};
+
+int main()
+{
+ printf("%f\n%f\n", S::inf, S::nan);
+ return 0;
+}