1 // RUN: %clang_cc1 %s -triple i686-pc-linux-gnu -emit-llvm -o /dev/null
2 // PR4590
3 
4 typedef unsigned char __u8;
5 typedef unsigned int __le32;
6 typedef unsigned int __u32;
7 typedef unsigned short __le16;
8 typedef unsigned short __u16;
9 
10 struct usb_cdc_ether_desc {
11  __u8 bLength;
12  __u8 bDescriptorType;
13  __u8 bDescriptorSubType;
14 
15  __u8 iMACAddress;
16  __le32 bmEthernetStatistics;
17  __le16 wMaxSegmentSize;
18  __le16 wNumberMCFilters;
19  __u8 bNumberPowerFilters;
20 } __attribute__ ((packed));
21 
22 
23 static struct usb_cdc_ether_desc ecm_desc __attribute__ ((__section__(".init.data"))) = {
24  .bLength = sizeof ecm_desc,
25  .bDescriptorType = ((0x01 << 5) | 0x04),
26  .bDescriptorSubType = 0x0f,
27 
28 
29 
30  .bmEthernetStatistics = (( __le32)(__u32)(0)),
31  .wMaxSegmentSize = (( __le16)(__u16)(1514)),
32  .wNumberMCFilters = (( __le16)(__u16)(0)),
33  .bNumberPowerFilters = 0,
34 };
35