This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TRDec status.

### 605. [dec.tr] <decfloat.h> doesn't live here anymore.

Section: 3.4 [dec.tr::trdec.types.cdecfloat] Status: TRDec Submitter: Robert Klarer Opened: 2006-10-17 Last modified: 2016-01-31

Priority: Not Prioritized

View all issues with TRDec status.

Discussion:

In Berlin, WG14 decided to drop the <decfloat.h> header. The contents of that header have been moved into <float.h>. For the sake of C compatibility, we should make corresponding changes.

Proposed resolution:

1. Change the heading of subclause 3.4, "Headers `<cdecfloat>` and `<decfloat.h>`" to "Additions to headers `<cfloat>` and `<float.h>`."

2. Change the text of subclause 3.4 as follows:

> The standard C++ headers `<cfloat>` and `<float.h>` define characteristics of the floating-point types `float`, `double`, and `long double`. Their contents remain unchanged by this Technical Report.

> Headers `<cdecfloat>` and `<decfloat.h>` define characteristics of the decimal floating-point types `decimal32`, `decimal64`, and `decimal128`. As well, `<decfloat.h>` defines the convenience typedefs `_Decimal32`, `_Decimal64`, and `_Decimal128`, for compatibilty with the C programming language.

> The header `<cfloat>` is described in [tr.c99.cfloat]. The header `<float.h>` is described in [tr.c99.floath]. These headers are extended by this Technical Report to define characteristics of the decimal floating-point types `decimal32`, `decimal64`, and `decimal128`. As well, `<float.h>` is extended to define the convenience typedefs `_Decimal32`, `_Decimal64`, and `_Decimal128` for compatibility with the C programming language.

3. Change the heading of subclause 3.4.1, "Header `<cdecfloat>` synopsis" to "Additions to header `<cfloat>` synopsis."

4. Change the heading of subclause 3.4.2, "Header `<decfloat.h>` synopsis" to "Additions to header `<float.h>` synopsis."

5. Change the contents of 3.4.2 as follows:

          #include <cdecfloat>

          // C-compatibility convenience typedefs:

          typedef std::decimal::decimal32  _Decimal32;
          typedef std::decimal::decimal64  _Decimal64;
          typedef std::decimal::decimal128 _Decimal128;