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 jos...@codesourcery.com 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).

Reply via email to