https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92229
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2019-10-26 Ever confirmed|0 |1 --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >One could make the code more readable by using: This is very problematic. How do you know what statement, __builtin_overflow_p should be associated with? Take C++ code, where the types of a and b are not integer, how do you handle that? Likewise about floating point types? What does it mean to overflow floating point types. Even unsigned types, there is no overflow for them in the C/C++ language itself but the definitions of __builtin_umul*_overflow describe it as not a property of the language but rather if the multiple would not fit exactly from the infinite percission case.