summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/overflow-1.c
blob: db51a5ef129e4c97ceac2bd7f0536242549d5cef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* PR optimization/13318 */
/* Origin: <bremner@unb.ca> */
/* Reduced testcase: Wolfgang Bangerth <bangerth@dealii.org> */

/* Verify that the big multiplier doesn't cause an integer
   overflow in the loop optimizer.  */

/* { dg-do compile } */
/* { dg-options "-O2" } */

struct S {
  int key;
  int rnext,rprev;
};
 
void foo(struct S* H)
{
  int i, k;
  for (i=0; i<2; i++){
    struct S* cell=H+k;
    cell->key=i*(0xffffffffUL/2);
    cell->rnext=k+(1-i);
    cell->rprev=k+(1-i);
  }
}