1/* { dg-options { "-fwrapv" } } */ 2 3extern void abort (void); 4extern void exit (int); 5 6int dd (int x, int d) { return x / d; } 7 8int 9main () 10{ 11 int i; 12 for (i = -3; i <= 3; i++) 13 { 14 if (dd (i, 1) != i / 1) 15 abort (); 16 if (dd (i, 2) != i / 2) 17 abort (); 18 if (dd (i, 3) != i / 3) 19 abort (); 20 if (dd (i, 4) != i / 4) 21 abort (); 22 if (dd (i, 5) != i / 5) 23 abort (); 24 if (dd (i, 6) != i / 6) 25 abort (); 26 if (dd (i, 7) != i / 7) 27 abort (); 28 if (dd (i, 8) != i / 8) 29 abort (); 30 } 31 for (i = ((unsigned) ~0 >> 1) - 3; i <= ((unsigned) ~0 >> 1) + 3; i++) 32 { 33 if (dd (i, 1) != i / 1) 34 abort (); 35 if (dd (i, 2) != i / 2) 36 abort (); 37 if (dd (i, 3) != i / 3) 38 abort (); 39 if (dd (i, 4) != i / 4) 40 abort (); 41 if (dd (i, 5) != i / 5) 42 abort (); 43 if (dd (i, 6) != i / 6) 44 abort (); 45 if (dd (i, 7) != i / 7) 46 abort (); 47 if (dd (i, 8) != i / 8) 48 abort (); 49 } 50 exit (0); 51} 52