concrete_binding (bit_offset_t start_bit_offset, bit_size_t size_in_bits)
: m_bit_range (start_bit_offset, size_in_bits)
{
- gcc_assert (!m_bit_range.empty_p ());
+ gcc_assert (m_bit_range.m_size_in_bits > 0);
}
bool concrete_p () const final override { return true; }
static int cmp_ptr_ptr (const void *, const void *);
- void mark_deleted () { m_bit_range.m_start_bit_offset = -1; }
- void mark_empty () { m_bit_range.m_start_bit_offset = -2; }
- bool is_deleted () const { return m_bit_range.m_start_bit_offset == -1; }
- bool is_empty () const { return m_bit_range.m_start_bit_offset == -2; }
+ void mark_deleted () { m_bit_range.m_size_in_bits = -1; }
+ void mark_empty () { m_bit_range.m_size_in_bits = -2; }
+ bool is_deleted () const { return m_bit_range.m_size_in_bits == -1; }
+ bool is_empty () const { return m_bit_range.m_size_in_bits == -2; }
private:
bit_range m_bit_range;
--- /dev/null
+typedef unsigned char __u8;
+struct sk_buff
+{
+ unsigned char *data;
+};
+struct cpl_pass_accept_req
+{
+ __u8 : 6;
+ __u8 sack : 1;
+};
+void build_cpl_pass_accept_req(struct sk_buff* skb)
+{
+ struct cpl_pass_accept_req* req;
+ skb->data -= sizeof(*req);
+ req = (struct cpl_pass_accept_req *)skb->data;
+ req->sack = 1;
+}