Hi, On Sun, Sep 3, 2017 at 1:48 PM, Florian Weimer <f...@deneb.enyo.de> wrote: > * Bruce Korb: > >> I know about all these theoretical possibilities of numbers behaving >> in strange ways when arithmetic optimizations assume that signed >> overflow won't occur when they actually might. Yep, it creates subtle >> bugs. The warning is worthwhile. Still and all: >> >> 485 tvdiff = abs_tval(sub_tval(timetv, tvlast)); >> 486 if (tvdiff.tv_sec != 0) { >> >> systime.c: In function 'step_systime': >> systime.c:486:5: warning: assuming signed overflow does not occur when >> simplifying conditional to constant [-Wstrict-overflow] >> >> What possible optimization might be going on to cause an overflow >> problem when I simply want to know if the "tv_sec" field is zero or >> not? (BTW, in current source, "tvdiff" is a structure that is returned >> by abs_tval()) > > This usually happens after inlining and other optimizations. You'll > have to look at GIMPLE dumps to figure out what is going on.
RFE's are for this list: please improve the message. The message does not have to be a dissertation, but messages nowadays can certainly include URL's to direct people to reasonable places. I'd suggest something like: gcc.gnu.org/gcc-messages/xxx WRT looking at a GIMPLE dump, I'd first have to learn what GIMPLE is, then learn how to decipher one, then figure out how to get it out of the compiler and finally plod through it. Guess what? I won't be doing that. I'll squish the warning first. :( Effective messages are very important.