(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
pr105777.c
       1  /* PR middle-end/105777 */
       2  
       3  #include "../../gcc.dg/tree-ssa/pr105777.c"
       4  
       5  int
       6  main ()
       7  {
       8    if (foo (0) != 0
       9        || foo (__INT_MAX__ / 35) != 0
      10        || foo (__INT_MAX__ / 35 + 1) != 1
      11        || foo (__INT_MAX__) != 1
      12        || foo ((-__INT_MAX__ - 1) / 35) != 0
      13        || foo ((-__INT_MAX__ - 1) / 35 - 1) != 1
      14        || foo (-__INT_MAX__ - 1) != 1)
      15      __builtin_abort ();
      16    if (bar (0) != 0
      17        || bar (__LONG_MAX__ / 35) != 0
      18        || bar (__LONG_MAX__ / 35 + 1) != 1
      19        || bar (__LONG_MAX__) != 1
      20        || bar ((-__LONG_MAX__ - 1) / 35) != 0
      21        || bar ((-__LONG_MAX__ - 1) / 35 - 1) != 1
      22        || bar (-__LONG_MAX__ - 1) != 1)
      23      __builtin_abort ();
      24    if (baz (0) != 0
      25        || baz (__INT_MAX__ / 42) != 0
      26        || baz (__INT_MAX__ / 42 + 1) != 1
      27        || baz (__INT_MAX__) != 1
      28        || baz ((-__INT_MAX__ - 1) / 42) != 0
      29        || baz ((-__INT_MAX__ - 1) / 42 - 1) != 1
      30        || baz (-__INT_MAX__ - 1) != 1)
      31      __builtin_abort ();
      32    if (qux (0) != 0
      33        || qux (__LONG_MAX__ / 42) != 0
      34        || qux (__LONG_MAX__ / 42 + 1) != 1
      35        || qux (__LONG_MAX__) != 1
      36        || qux ((-__LONG_MAX__ - 1) / 42) != 0
      37        || qux ((-__LONG_MAX__ - 1) / 42 - 1) != 1
      38        || qux (-__LONG_MAX__ - 1) != 1)
      39      __builtin_abort ();
      40    if (corge (0) != 0
      41        || corge (__INT_MAX__ / -39) != 0
      42        || corge (__INT_MAX__ / -39 - 1) != 1
      43        || corge (__INT_MAX__) != 1
      44        || corge ((-__INT_MAX__ - 1) / -39) != 0
      45        || corge ((-__INT_MAX__ - 1) / -39 + 1) != 1
      46        || corge (-__INT_MAX__ - 1) != 1)
      47      __builtin_abort ();
      48    if (garply (0) != 0
      49        || garply (__LONG_MAX__ / -39) != 0
      50        || garply (__LONG_MAX__ / -39 - 1) != 1
      51        || garply (__LONG_MAX__) != 1
      52        || garply ((-__LONG_MAX__ - 1) / -39) != 0
      53        || garply ((-__LONG_MAX__ - 1) / -39 + 1) != 1
      54        || garply (-__LONG_MAX__ - 1) != 1)
      55      __builtin_abort ();
      56    if (grault (0) != 0
      57        || grault (__INT_MAX__ / -46) != 0
      58        || grault (__INT_MAX__ / -46 - 1) != 1
      59        || grault (__INT_MAX__) != 1
      60        || grault ((-__INT_MAX__ - 1) / -46) != 0
      61        || grault ((-__INT_MAX__ - 1) / -46 + 1) != 1
      62        || grault (-__INT_MAX__ - 1) != 1)
      63      __builtin_abort ();
      64    if (waldo (0) != 0
      65        || waldo (__LONG_MAX__ / -46) != 0
      66        || waldo (__LONG_MAX__ / -46 - 1) != 1
      67        || waldo (__LONG_MAX__) != 1
      68        || waldo ((-__LONG_MAX__ - 1) / -46) != 0
      69        || waldo ((-__LONG_MAX__ - 1) / -46 + 1) != 1
      70        || waldo (-__LONG_MAX__ - 1) != 1)
      71      __builtin_abort ();
      72    return 0;
      73  }