1  /* PR target/60941 */
       2  /* Reported by Martin Husemann <martin@netbsd.org> */
       3  
       4  extern void abort (void);
       5  
       6  static void __attribute__((noinline))
       7  set (unsigned long *l)
       8  {
       9    *l = 31;
      10  }
      11  
      12  int main (void)
      13  {
      14    unsigned long l;
      15    int i;
      16  
      17    set (&l);
      18    i = (int) l;
      19    l = (unsigned long)(2U << i);
      20    if (l != 0)
      21      abort ();
      22    return 0;
      23  }