On Sat, Feb 27, 2016 at 10:39:59AM +0000, Andrew Haley wrote: > On 26/02/16 21:28, Bradley Lucier wrote: > > Any advice on how to proceed? I'd be willing to write and test the few > > lines of code myself if I knew where to put them. > > The best thing, rather than warning, would be to define this > conversion as a GCC extension and implement it consistently > everywhere. Then we wouldn't need a warning, and there'd be > one fewer trap.
I disagree. That would slow down most of uses that use it when they know the floating point value must be non-negative, for the benefit of the few that invoke implementation defined behavior. Just use -fsanitize=float-cast-overflow and you will be notified at runtime when you run into this. E.g. (/lib64/libubsan.so.0+0x9202): runtime error: value -2 is outside the range of representable values of type 'unsigned int' Jakub