https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107097
Bug ID: 107097 Summary: Implement floating point excess precision in C++ Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jason at gcc dot gnu.org Target Milestone: --- Joseph Myers implemented C99 excess precision support for C in 4.5: https://gcc.gnu.org/legacy-ml/gcc-patches/2008-11/msg00105.html C++ has a similar rule in [expr.pre]p6: "The values of the floating-point operands and the results of floating-point expressions may be represented in greater precision and range than that required by the type; the types are not changed thereby. [Footnote: The cast and assignment operators must still perform their specific conversions.]" Implementing this seems particularly important for users wanting to use 16-bit floating point types in C++.