1  /* The composite type of int and an enum compatible with int might be
       2     either of the two types, but it isn't an unsigned type.  */
       3  /* Origin: Joseph Myers <jsm@polyomino.org.uk> */
       4  
       5  #include <limits.h>
       6  
       7  #include <stdio.h>
       8  
       9  extern void abort (void);
      10  extern void exit (int);
      11  
      12  enum e { a = INT_MIN };
      13  
      14  int *p;
      15  enum e *q;
      16  int
      17  main (void)
      18  {
      19    enum e x = a;
      20    q = &x;
      21    if (*(1 ? q : p) > 0)
      22      abort ();
      23    exit (0);
      24  }