https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111842

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
But this is not a warning of the kind controlled by -Wall etc.

This is a diagnostic that is *required* by the C++ standard. It's implemented
in GCC as a pedwarn, which is a warning unless -pedantic-errors is used, then
it's an error. So it *is* linked to a diagnostic option, as the title of PR
44209 says it should be.

There is no option to disable the warning, because the code is invalid.

On the other hand, we do allow disabling narrowing diagnostics, which are also
required by the standard. -Wno-narrowing can be used to disable those. But
narrowing cases were not errors in C++98 and the introduction of the C++11
rules caused massive compatibility problems for old code. There is no such
concern for _Float16 because that type has never been used in existing C++
code.

We could link this one to -Wnarrowing too, as converting to a floating-point
type of lesser rank is a kind of narrowing. I don't see any great need to do
that though. There's no compatability concern here, why not just write the code
correctly in the first place?

Reply via email to