https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62018
Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW CC| |fxcoudert at gcc dot gnu.org --- Comment #7 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> --- Here's a minimal reproducer: int iaddv (int a, int b) { return a + b; } int main (void) { volatile int x = iaddv (__INT_MAX__, 1); } Compiled with gcc trunk (or 4.8 or 4.9) with option -ftrapv, it executes without fault. If I do the same on a linux box, it traps (as it should). However, on both the tree dumps are the same: i.e. I cannot see, from the dump tree, where the trap checks and instructions should be. Richard, I am willing to debug this, but don't know where to go after the above analysis.