1// RUN: %clang_cc1 %s -triple i686-pc-linux-gnu -emit-llvm -o /dev/null
2// PR4590
3
4typedef unsigned char __u8;
5typedef unsigned int __le32;
6typedef unsigned int __u32;
7typedef unsigned short __le16;
8typedef unsigned short __u16;
9
10struct 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
23static 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