how to make gcc warn about arithmetic signed overflow

Dave Allured - NOAA Affiliate dave.allured@noaa.gov
Mon Sep 23 19:38:00 GMT 2013


On Sun, Sep 22, 2013 at 10:03 PM, James K. Lowden
<jklowden@schemamania.org> wrote:
> Regarding the OP's query
>
>> > int r = ab * bc;
>
> although the provided example is simple enough, it's the compiler's
> job is to generate object code, not to do static analysis.
>
> Even if the values are const, in the general case they could be
> modified by another module or another thread.  The compiler simply
> doesn't have enough information to warn of every runtime overflow.

I believe the CPU overflow flag is updated after most integer
arithmetic instructions.  Does GCC have any facility for checking this
flag after each integer operation?  This would be a runtime check, of
course, not a compile time check.

--Dave



More information about the Gcc-help mailing list