On Wed, Nov 23, 2005 at 02:05:03PM +0000, Joseph S. Myers wrote: > On Wed, 23 Nov 2005, Ben Elliston wrote: > > > 3. Merge in libcpp and C (only) front-end changes. > > > > 4. Merge in middle-end changes and internals documentation. > > What have you done in the way of command-line options to enable the new > features?
Decimal floating point is supported in C for -std=gnu* if GCC is configured with --enable-decimal-float. This is the default for powerpc*-*-linux* and is available for ?86*-linux*. > Specifically: > > * Decimal fp constants are already preprocessing numbers in the standard > syntax - but in standard C their conversion to a token requires a > diagnostic (at least a pedwarn with -pedantic). If decimal fp is to be > usable with -pedantic an option is needed to disable that pedwarn/error. > > * There is also an arguable case for diagnosing any use of the new > keywords if -pedantic, unless such a special option is passed. The keywords _Decimal32, _Decimal64, and _Decimal128 and decimal float constants are not recognized for -std=c* and get warnings with -pedantic. This seems reasonable until the definition of the feature is more stable. > * Any choice of TTDT other than "double" (properly, the type specified by > FLT_EVAL_METHOD, but we don't implement that) would also be incompatible > with C99 and need specifically enabling. We have not implemented translation time data types, which change the behavior of existing C programs. We'll look at supporting that part if it is still in the TR after it has been approved. We also have not implemented the precision pragma, which is currently not well-defined. > (Previous versions of the DTR - such as the one linked from svn.html - > also provided defined behavior for out-of-range conversions between binary > float and integer types. This appears to have been removed in the latest > draft, so no code to implement this is needed. However, such code would > also have needed to be conditional unless benchmarking as per bug 21360 > showed no performance impact.) Agreed. The DTR describing the feature has not yet been widely reviewed and the support via decNumber is very slow, so we see the initial support for decimal floating point as a technology preview. The DTR has gone through a number of changes since N1107 and will probably go through more changes before it is approved. Currently we support N1150 with a few exceptions. Janis