From 0707f4280907c395b543464175411f8155817a9e Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 20 Apr 2022 11:00:33 +0200 Subject: Fix overflows in ipa-modref-tree.cc gcc/ChangeLog: 2022-04-20 Jan Hubicka PR ipa/103818 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use poly_offset_int to avoid overflow. (modref_access_node::update2): likewise. gcc/testsuite/ChangeLog: 2022-04-20 Jan Hubicka * gcc.c-torture/compile/103818.c: New test. --- gcc/testsuite/gcc.c-torture/compile/103818.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/103818.c (limited to 'gcc/testsuite') diff --git a/gcc/testsuite/gcc.c-torture/compile/103818.c b/gcc/testsuite/gcc.c-torture/compile/103818.c new file mode 100644 index 0000000..e6cbe78 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/103818.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target lp64 } } */ +struct A { int b[1]; }; + +void +foo (struct A *d) +{ + d->b[0] = d->b[-144115188075855873LL] + d->b[11] * d->b[2] + + d->b[0] % d->b[1025] + d->b[5]; + d->b[0] = d->b[144678138029277184LL] + d->b[0] & d->b[-3] * d->b[053] + + d->b[7] ^ d->b[-9] + d->b[14] + d->b[9] % d->b[49] + + d->b[024] + d->b[82] & d->b[4096]; +} -- cgit v1.1