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
6signed char
7fn1 (signed char x, unsigned long y)
8{
9  return x << y;
10}
11
12short int
13fn2 (short int x, unsigned long y)
14{
15  return x << y;
16}
17
18int
19fn3 (int x, unsigned long y)
20{
21  return x << y;
22}
23
24long int
25fn4 (long int x, unsigned long y)
26{
27  return x << y;
28}
29
30long long int
31fn5 (long long int x, unsigned long y)
32{
33  return x << y;
34}
35
36signed char
37fn6 (signed char x, unsigned long long y)
38{
39  return x << y;
40}
41
42short int
43fn7 (short int x, unsigned long long y)
44{
45  return x << y;
46}
47
48int
49fn8 (int x, unsigned long long y)
50{
51  return x << y;
52}
53
54long int
55fn9 (long int x, unsigned long long y)
56{
57  return x << y;
58}
59
60long long int
61fn10 (long long int x, unsigned long long y)
62{
63  return x << y;
64}
65