1/* This used to fail as we would convert f into just return (unsigned int)usVlanID
2   which is wrong. */
3
4int f(unsigned short usVlanID) __attribute__((noinline,noclone));
5int 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
14int main(void)
15{
16  if (f(1) != 1)
17    __builtin_abort ();
18  if (f(0xffff) != -1)
19    __builtin_abort ();
20  return 0;
21}
22