1 /* This used to fail as we would convert f into just return (unsigned int)usVlanID
2    which is wrong. */
3 
4 int f(unsigned short usVlanID) __attribute__((noinline,noclone));
f(unsigned short usVlanID)5 int f(unsigned short usVlanID)
6 {
7   unsigned int uiVlanID = 0xffffffff;
8   int i;
9   if ((unsigned short)0xffff != usVlanID)
10     uiVlanID = (unsigned int)usVlanID;
11   return uiVlanID;
12 }
13 
main(void)14 int main(void)
15 {
16   if (f(1) != 1)
17     __builtin_abort ();
18   if (f(0xffff) != -1)
19     __builtin_abort ();
20   return 0;
21 }
22