1  /* PR middle-end/50865 */
       2  
       3  #define INT64_MIN (-__LONG_LONG_MAX__ - 1)
       4  
       5  int
       6  main ()
       7  {
       8    volatile long long l1 = 1;
       9    volatile long long l2 = -1;
      10    volatile long long l3 = -1;
      11  
      12    if ((INT64_MIN % 1LL) != 0)
      13      __builtin_abort ();
      14    if ((INT64_MIN % l1) != 0)
      15      __builtin_abort ();
      16    if (l2 == -1)
      17      {
      18        if ((INT64_MIN % 1LL) != 0)
      19  	__builtin_abort ();
      20      }
      21    else if ((INT64_MIN % -l2) != 0)
      22      __builtin_abort ();
      23    if ((INT64_MIN % -l3) != 0)
      24      __builtin_abort ();
      25  
      26    return 0;
      27  }