// RUN: %clang_cc1 -fsyntax-only -verify %s -triple pic16-unknown-unknown // Check that int-sized unsigned bit-fields promote to unsigned int // on targets where sizeof(unsigned short) == sizeof(unsigned int) enum E { ec1, ec2, ec3 }; struct S { enum E e : 16; unsigned short us : 16; unsigned long ul1 : 8; unsigned long ul2 : 16; } s; __typeof(s.e + s.e) x_e; unsigned x_e; __typeof(s.us + s.us) x_us; unsigned x_us; __typeof(s.ul1 + s.ul1) x_ul1; signed x_ul1; __typeof(s.ul2 + s.ul2) x_ul2; unsigned x_ul2;