https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87390
--- Comment #13 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- On Wed, 26 Sep 2018, vincent-gcc at vinc17 dot net wrote: > 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 6.3.1.5 in C99, that distinction is only applied in the case of demotions and explicit conversions (second paragraph); it does not apply in the first paragraph (implicit promotions). I.e., the 6.3.1.4 handling of conversions from integer to floating-point is analogous to the 6.3.1.5 second paragraph handling of demotions and explicit conversions from floating-point to floating-point (not to the first paragraph handling of implicit promotions).