xref: /freebsd-src/contrib/netbsd-tests/usr.bin/xlint/lint1/d_packed_structs.c (revision 9268022b74279434ed6300244e3f977e56a8ceb5)
1*57718be8SEnji Cooper /* packed tests */
2*57718be8SEnji Cooper 
3*57718be8SEnji Cooper struct in_addr {
4*57718be8SEnji Cooper 	int x;
5*57718be8SEnji Cooper };
6*57718be8SEnji Cooper struct	ip_timestamp {
7*57718be8SEnji Cooper 	char ipt_code;
8*57718be8SEnji Cooper 	char ipt_len;
9*57718be8SEnji Cooper 	char ipt_ptr;
10*57718be8SEnji Cooper 	unsigned int ipt_flg:4,
11*57718be8SEnji Cooper 		     ipt_oflw:4;
12*57718be8SEnji Cooper 	union ipt_timestamp {
13*57718be8SEnji Cooper 		 int	ipt_time[1];
14*57718be8SEnji Cooper 		 struct	ipt_ta {
15*57718be8SEnji Cooper 			struct in_addr ipt_addr;
16*57718be8SEnji Cooper 			int ipt_time;
17*57718be8SEnji Cooper 		 } ipt_ta[1] __packed;
18*57718be8SEnji Cooper 	} ipt_timestamp __packed;
19*57718be8SEnji Cooper } __packed;
20*57718be8SEnji Cooper 
21*57718be8SEnji Cooper typedef struct __packed {
22*57718be8SEnji Cooper 	int x;
23*57718be8SEnji Cooper } t;
24*57718be8SEnji Cooper 
25*57718be8SEnji Cooper struct x {
26*57718be8SEnji Cooper 	char c;
27*57718be8SEnji Cooper 	long l;
28*57718be8SEnji Cooper } __packed;
29*57718be8SEnji Cooper 
30*57718be8SEnji Cooper struct y {
31*57718be8SEnji Cooper 	char c;
32*57718be8SEnji Cooper 	long l;
33*57718be8SEnji Cooper };
34*57718be8SEnji Cooper 
35*57718be8SEnji Cooper int a[sizeof(struct y) - sizeof(struct x) - 1];
36