aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2009-04-08 15:16:26 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2009-04-08 15:16:26 +0200
commitb84711c5366463ed2d38dafc1a89aef66dcc7fa3 (patch)
treed0c69c5c97825c2c1216b90e70dc768fb868b419
parent525e3bce9d50507425df76c4e286c7d149f80db7 (diff)
Make the default value a floating-point literal
We cannot append the F suffix to an integer constant.
-rw-r--r--xsde/cxx/hybrid/default-value.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/xsde/cxx/hybrid/default-value.cxx b/xsde/cxx/hybrid/default-value.cxx
index 8c570cf..e232eae 100644
--- a/xsde/cxx/hybrid/default-value.cxx
+++ b/xsde/cxx/hybrid/default-value.cxx
@@ -94,6 +94,16 @@ namespace CXX
s.resize (j);
}
+
+ Void
+ make_float (String& s)
+ {
+ if (s.find ('.') == String::npos &&
+ s.find ('e') == String::npos &&
+ s.find ('E') == String::npos)
+ s += L".0";
+ }
+
}
//
@@ -259,6 +269,7 @@ namespace CXX
else
{
strip_zeros (value_);
+ make_float (value_);
literal_ = value_ + L"F";
}
}
@@ -283,6 +294,7 @@ namespace CXX
else
{
strip_zeros (value_);
+ make_float (value_);
literal_ = value_;
}
}
@@ -292,6 +304,7 @@ namespace CXX
{
collapse (value_);
strip_zeros (value_);
+ make_float (value_);
literal_ = value_;
}