summaryrefslogtreecommitdiff
path: root/test/FrontendC/2009-07-22-StructLayout.c
blob: 74904da33e0c56ca854ce928d5b4dfbdf0e98ead (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// RUN: %llvmgcc %s -S -o /dev/null
// PR4590

typedef unsigned char __u8;
typedef unsigned int __le32;
typedef unsigned int __u32;
typedef unsigned short __le16;
typedef unsigned short __u16;

struct usb_cdc_ether_desc {
 __u8 bLength;
 __u8 bDescriptorType;
 __u8 bDescriptorSubType;

 __u8 iMACAddress;
 __le32 bmEthernetStatistics;
 __le16 wMaxSegmentSize;
 __le16 wNumberMCFilters;
 __u8 bNumberPowerFilters;
} __attribute__ ((packed));


static struct usb_cdc_ether_desc ecm_desc __attribute__ ((__section__(".init.data"))) = {
 .bLength = sizeof ecm_desc,
 .bDescriptorType = ((0x01 << 5) | 0x04),
 .bDescriptorSubType = 0x0f,



 .bmEthernetStatistics = (( __le32)(__u32)(0)),
 .wMaxSegmentSize = (( __le16)(__u16)(1514)),
 .wNumberMCFilters = (( __le16)(__u16)(0)),
 .bNumberPowerFilters = 0,
};