Skip to content

[intro.refs], [support] Remove all references to ISO/IEC 10967-1:2012 #8666

@eisenwave

Description

@eisenwave

We have a bibliography reference to ISO/IEC 10967-1:2012 and mention it in a number of footnotes. That standard makes factually incorrect statements and is irrelevant to C and C++ following the C23 rebase. We should purge any mention of it.

Historical background

Historically, C17 had an Annex H which documented compliance with ISO/IEC 10967–1. I suppose this is why we refer to it as well. C23 no longer mentions ISO/IEC 10967–1 in any of its wording, but does contain an unused reference in its bibliography. This is most likely an editorial mistake.

C23 instead has an Annex F, G, and H that document compliance with ISO/IEC 60559. We also refer to ISO/IEC 60559, and we are based on C23 for large portions of the standard library.

The problem with referencing ISO/IEC 10967-1

ISO/IEC 10967-1:2012 is now essentially irrelevant to us. In fact, the references we have are outright wrong and misleading:

draft/source/support.tex

Lines 1659 to 1663 in ef2abfa

The rounding style for the type.
\begin{footnote}
Equivalent to \tcode{FLT_ROUNDS}.
Required by ISO/IEC 10967-1:2012.
\end{footnote}

C23 (https://cigix.me/c23#5.2.5.3.3.p23) says that an FLT_ROUNDS value of 1 indicates "to nearest, ties to even" and a value of 4 indicates "to nearest, ties away from zero"

On the contrary, ISO/IEC 10967-1 claims:

Image

This is wrong. C no longer has any ambition of complying with ISO/IEC 10967-1, and it outright violates it, as can be seen.

Note

The "†" symbol means:

The operations or parameters marked “†” are not part of the language standard and must be provided by an implementation that wishes to conform to LIA-1.

This is also wrong in the case of C23. The language standard does provide the value 4.

Thankfully, no normative wording is affected by this, only a bunch of footnotes in [support].

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-BugPresentational errors and omissions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions