1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -emit-llvm %s -o /dev/null 2*f4a2713aSLionel Sambuc // Radar 7328944 3*f4a2713aSLionel Sambuc 4*f4a2713aSLionel Sambuc typedef struct 5*f4a2713aSLionel Sambuc { 6*f4a2713aSLionel Sambuc unsigned short a : 1; 7*f4a2713aSLionel Sambuc unsigned short b : 2; 8*f4a2713aSLionel Sambuc unsigned short c : 1; 9*f4a2713aSLionel Sambuc unsigned short d : 1; 10*f4a2713aSLionel Sambuc unsigned short e : 1; 11*f4a2713aSLionel Sambuc unsigned short f : 1; 12*f4a2713aSLionel Sambuc unsigned short g : 2; 13*f4a2713aSLionel Sambuc unsigned short : 7; 14*f4a2713aSLionel Sambuc union 15*f4a2713aSLionel Sambuc { 16*f4a2713aSLionel Sambuc struct 17*f4a2713aSLionel Sambuc { 18*f4a2713aSLionel Sambuc unsigned char h : 1; 19*f4a2713aSLionel Sambuc unsigned char i : 1; 20*f4a2713aSLionel Sambuc unsigned char j : 1; 21*f4a2713aSLionel Sambuc unsigned char : 5; 22*f4a2713aSLionel Sambuc }; 23*f4a2713aSLionel Sambuc struct 24*f4a2713aSLionel Sambuc { 25*f4a2713aSLionel Sambuc unsigned char k : 3; 26*f4a2713aSLionel Sambuc unsigned char : 5; 27*f4a2713aSLionel Sambuc }; 28*f4a2713aSLionel Sambuc }; 29*f4a2713aSLionel Sambuc unsigned char : 8; 30*f4a2713aSLionel Sambuc } tt; 31*f4a2713aSLionel Sambuc 32*f4a2713aSLionel Sambuc typedef struct 33*f4a2713aSLionel Sambuc { 34*f4a2713aSLionel Sambuc unsigned char s; 35*f4a2713aSLionel Sambuc tt t; 36*f4a2713aSLionel Sambuc unsigned int u; 37*f4a2713aSLionel Sambuc } ttt; 38*f4a2713aSLionel Sambuc 39*f4a2713aSLionel Sambuc ttt X = { 40*f4a2713aSLionel Sambuc 4, 41*f4a2713aSLionel Sambuc { 0 }, 42*f4a2713aSLionel Sambuc 55, 43*f4a2713aSLionel Sambuc }; 44