https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87390
Vincent Lefèvre <vincent-gcc at vinc17 dot net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|FIXED |---
--- Comment #12 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> ---
(In reply to [email protected] from comment #9)
> 6.3.1.5 in C99 has a clear division between promotions (no change to
> value) and demotions + explicit conversions (remove excess precision).
But there are no differences with 6.3.1.4 (when converting to a floating type):
in both cases, either the value can be represented exactly, in which case it is
unchanged, or it cannot, in which case it is rounded. When doing a conversion
to some given type, the C standard does not care of the origin type of the
value.
In any case, this is orthogonal to the rules given by 6.3.1.8 (which cover
extra precision and range).