1  /* { dg-do compile } */
       2  /* { dg-options "-fsanitize=undefined" } */
       3  /* { dg-additional-options "-std=gnu11" { target c } } */
       4  /* { dg-additional-options "-std=c++11" { target c++ } } */
       5  
       6  signed char
       7  fn1 (signed char x, unsigned long y)
       8  {
       9    return x << y;
      10  }
      11  
      12  short int
      13  fn2 (short int x, unsigned long y)
      14  {
      15    return x << y;
      16  }
      17  
      18  int
      19  fn3 (int x, unsigned long y)
      20  {
      21    return x << y;
      22  }
      23  
      24  long int
      25  fn4 (long int x, unsigned long y)
      26  {
      27    return x << y;
      28  }
      29  
      30  long long int
      31  fn5 (long long int x, unsigned long y)
      32  {
      33    return x << y;
      34  }
      35  
      36  signed char
      37  fn6 (signed char x, unsigned long long y)
      38  {
      39    return x << y;
      40  }
      41  
      42  short int
      43  fn7 (short int x, unsigned long long y)
      44  {
      45    return x << y;
      46  }
      47  
      48  int
      49  fn8 (int x, unsigned long long y)
      50  {
      51    return x << y;
      52  }
      53  
      54  long int
      55  fn9 (long int x, unsigned long long y)
      56  {
      57    return x << y;
      58  }
      59  
      60  long long int
      61  fn10 (long long int x, unsigned long long y)
      62  {
      63    return x << y;
      64  }