1 extern void abort (void);
2 
f1(int x)3 __attribute__ ((noinline, noclone)) unsigned long long f1 (int x)
4 {
5   return ((unsigned long long) x) << 4;
6 }
7 
f2(unsigned x)8 __attribute__ ((noinline, noclone)) long long f2 (unsigned x)
9 {
10   return ((long long) x) << 4;
11 }
12 
f3(unsigned x)13 __attribute__ ((noinline, noclone)) unsigned long long f3 (unsigned x)
14 {
15   return ((unsigned long long) x) << 4;
16 }
17 
f4(int x)18 __attribute__ ((noinline, noclone)) long long f4 (int x)
19 {
20   return ((long long) x) << 4;
21 }
22 
main()23 int main ()
24 {
25   if (f1 (0xf0000000) != 0xffffffff00000000)
26     abort ();
27   if (f2 (0xf0000000) != 0xf00000000)
28     abort ();
29   if (f3 (0xf0000000) != 0xf00000000)
30     abort ();
31   if (f4 (0xf0000000) != 0xffffffff00000000)
32     abort ();
33   return 0;
34 }
35