On Wed, May 15, 2019 at 12:21 PM Martin Liška <mli...@suse.cz> wrote: > > Hi. > > The patch is about handling of overflow in jump_table_cluster::can_be_handled. > I calculate 100 * range and compare it to range. If it's smaller, then > overflow happens. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed?
Looks good, but can the RHS overflow as well? I suppose changing the compute/compare to uint64_t would fix the overflow but downstream the issue would re-appear? Richard. > Thanks, > Martin > > gcc/ChangeLog: > > 2019-05-15 Martin Liska <mli...@suse.cz> > > PR middle-end/90478 > * tree-switch-conversion.c (jump_table_cluster::can_be_handled): > Check for overflow. > > gcc/testsuite/ChangeLog: > > 2019-05-15 Martin Liska <mli...@suse.cz> > > PR middle-end/90478 > * gcc.dg/tree-ssa/pr90478-2.c: New test. > * gcc.dg/tree-ssa/pr90478.c: New test. > --- > gcc/testsuite/gcc.dg/tree-ssa/pr90478-2.c | 17 +++++++++++++++++ > gcc/testsuite/gcc.dg/tree-ssa/pr90478.c | 18 ++++++++++++++++++ > gcc/tree-switch-conversion.c | 6 +++++- > 3 files changed, 40 insertions(+), 1 deletion(-) > create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr90478-2.c > create mode 100644 gcc/testsuite/gcc.dg/tree-ssa/pr90478.c > >