Title
<cfloat> should be specified not to contain all macros in <float.h>
Status
new
Section
[cfloat.syn]
Submitter
Jan Schultke

Created on 2025-11-12.00:00:00 last changed 7 days ago

Messages

Date: 2026-01-16.15:55:03

Proposed resolution:

This wording is relative to N5032.

  1. Modify [cfloat.syn] as indicated:

    -1- The header <cfloat> defines all macros shown above the same as the C standard library header <float.h>.

Date: 2026-01-15.00:00:00

[ 2026-01-16; Jonathan provides improved wording ]

Date: 2026-01-15.00:00:00

[ 2026-01-16; Reflector poll. ]

Set priority to 3 after reflector poll.

"Could be just 'The header <cfloat> defines all macros shown above the same as the C standard library header <float.h>."

"That would resolve my concern to require C++ implementations to actively `#undef` things from <float.h>. It should be up to the implementation."

This wording is relative to N5014.

  1. Modify [cfloat.syn] as indicated:

    -1- The header <cfloat> defines all macros the same as the C standard library header <float.h>, except that it does not define any macros specifying characteristics of C decimal floating types or C interchange floating types.

Date: 2025-11-15.15:57:22

Consider [climits.syn] paragraph 1:

The header <climits> defines all macros the same as the C standard library header <limits.h>, except that it does not define the macro `BITINT_MAXWIDTH`.

Similarly, <cfloat> is missing various macros from C's <float.h>, but this is not stated.

History
Date User Action Args
2026-01-16 15:55:03adminsetmessages: + msg15862
2026-01-16 15:55:03adminsetmessages: + msg15861
2025-11-15 15:57:22adminsetmessages: + msg15744
2025-11-12 00:00:00admincreate