12c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher// RUN: %clang_cc1 -emit-llvm %s -o /dev/null
22c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher// Radar 7328944
32c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher
42c56377faf55ecd9afa7319297536d8a884f0d8bEric Christophertypedef struct
52c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher{
62c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short a : 1;
72c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short b : 2;
82c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short c : 1;
92c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short d : 1;
102c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short e : 1;
112c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short f : 1;
122c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short g : 2;
132c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned short : 7;
142c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	union
152c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	{
162c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher		struct
172c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher		{
182c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher			unsigned char h : 1;
192c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher			unsigned char i : 1;
202c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher			unsigned char j : 1;
212c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher			unsigned char : 5;
222c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher		};
232c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher		struct
242c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher		{
252c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher			unsigned char k : 3;
262c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher			unsigned char : 5;
272c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher		};
282c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	};
292c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	unsigned char : 8;
302c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher} tt;
312c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher
322c56377faf55ecd9afa7319297536d8a884f0d8bEric Christophertypedef struct
332c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher{
342c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher unsigned char s;
352c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher tt t;
362c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher unsigned int u;
372c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher} ttt;
382c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher
392c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopherttt X = {
402c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher    4,
412c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher       { 0 },
422c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher	55,
432c56377faf55ecd9afa7319297536d8a884f0d8bEric Christopher};
44