1  /* PR middle-end/38934 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -std=gnu99 -w" } */
       4  
       5  /* This variable needed only to work around earlier optimizations than VRP.  */
       6  unsigned char g;
       7  
       8  extern void abort ();
       9  
      10  void
      11  f (long long int p)
      12  {
      13    g = 255;
      14    if (p >= -9223372036854775808LL - (signed char) g)
      15      p = 1;
      16  
      17    if (p)
      18      abort ();
      19  }