https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98984
Gabriel Ravier <gabravier at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Failure to optimize out |Failure to optimize out |float conversion from long |float conversion from long |long->float->char |long->float->char |conversion |conversion on | |-fno-trapping-math --- Comment #3 from Gabriel Ravier <gabravier at gmail dot com> --- Hm, so that looks to be one more divergeance between Clang and GCC: -ftrapping-math is the default on GCC, while Clang has -fno-trapping-math as the default (note: using -ftrapping-math makes LLVM not do the optimization). The transformation is still not done on GCC with -fno-trapping-math though, so I'll keep the bug open.