Support in GCC 4.2 for decimal floating types is based on drafts of ISO/IEC WDTR 23732, which continues to change. There are some differences between the most recent draft N1176 and what GCC implements, and some other things that should probably change or at least be documented. I'd appreciate some guidance on these.
1. The draft TR specifies that an implementation define __STDC_DEC_FP__ as 1 to indicate conformance to the technical report. GCC currently defines this, but there are a couple of issues here. First is that GCC is only one piece of the implementation and the macro shouldn't be defined unless the C library also implements the library portion. The other issue is that the TR continues to change, and the macro shouldn't be defined until GCC and the relevant C library support the final version of the TR. I'd like to remove this from GCC, if it's OK to do that at this late stage. 2. There was a change a few months ago that disallowed operations between decimal floating types and generic floating types. A patch to change that was first submitted in December and has been pinged several times. If it's not approved for mainline then I'll document the difference. 3. Earlier drafts specified that a new header file <decfloat.h> define various macros for characteristics of decimal floating types. The latest draft puts these in <float.h> instead. I'm inclined to leave them in <decfloat.h> until the TR is approved, or at least more stable, and document that difference. 4. The latest draft has some changes to what happens when a decimal floating type value is converted to an integer type and cannot be represented; I plan to just document this difference for now. 5. The draft TR defines unsuffixed floating constants supported by translation time data types. This is not implemented in GCC because it affects generic floating types float, double, and long double. We have no plans to deal with this until the TR is approved and there is community support for adding this functionality to GCC. This affects whether we can claim that GCC supports the TR, but that's something to deal with later. I've been waiting to update the documentation in the GCC Manual until the latest draft is available online, but it's still not there. I'll submit something soon anyway. Janis