[Bug tree-optimization/82494] UBSAN in gcc/tree-data-ref.c:3427:16: runtime error: signed integer overflow: 131072 * -131072 cannot be represented in type 'int'
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Oct 9 12:09:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82494
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-10-09
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think there's a dup somewhere. We've discussed that
typedef int *lambda_vector;
is simply too optimistic. The machinery assumes this is an arbitrary precision
integer ;) A optimistic "fix" would be to make it int64_t, probably catching
most (if not all) practical cases (all overflows are possibly wrong-code!).
A real fix would involve either using gmp (ugh) or making a lot of routines
failable that are not right now plus using overflow-detecting math (and fail).
More information about the Gcc-bugs
mailing list