forked from OSchip/llvm-project
26 lines
536 B
C
26 lines
536 B
C
// 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;
|
|
|