There are __builtin_add_overflow, __builtin_sub_overflow and __builtin_mul_overflow, but there is no __builtin_div_overflow function in gcc.
It will overflow if you divide INT_MIN by -1.
Now I have to write some ugly ifs to check it by myself.