/* $NetBSD: d_packed_structs.c,v 1.6 2023/08/05 10:00:59 rillig Exp $ */
# 3 "d_packed_structs.c"
/* packed tests */
/* lint1-extra-flags: -X 351 */
struct in_addr {
int x;
};
struct ip_timestamp {
char ipt_code;
char ipt_len;
char ipt_ptr;
unsigned int
ipt_flg: 4,
ipt_oflw: 4;
union ipt_timestamp {
int ipt_time[1];
struct ipt_ta {
struct in_addr ipt_addr;
int ipt_time;
} ipt_ta[1]__packed;
} ipt_timestamp__packed;
} __packed;
typedef struct __packed {
int x;
} t;
struct x {
char c;
long long l;
} __packed;
struct y {
char c;
long long l;
};
int a[sizeof(struct y) - sizeof(struct x) - 1];
/* expect+1: error: negative array dimension (-9) [20] */
typedef int sizeof_x[-(int)sizeof(struct x)];
/* expect+1: error: negative array dimension (-16) [20] */
typedef int sizeof_y[-(int)sizeof(struct y)];