I've looked at other entries in stack overflow, but they are legitimately "above" the bounds.
In my code, I am winding my way through a nested series of structures:
static inline void * get_resp_ptr(U32 blade_ix, U32 q_id)
{
per_blade_data * bd = bfr_blade_data + blade_ix;
bfr_pendcmd_q_t * pcq = bd->bfrpb_ques + q_id;
response_t * res = pcq->bfrpq_resp;
return (void *)(res + pcq->bfrpq_resp_rdix);
}
"bfrpq_resp" is a pointer to type response_t. The last two lines of this function both get the error message. Beats heck out of me....Any guesses about what the compiler is trying to say? I'm tempted to cast into uintptr_t and just use arithmetic. :(
Edit: that didn't work. The assignment of pcq->bfrpq_resp to a uintptr_t resulted in the same error message. Merely referencing the field yields the result. I think GCC needs a different error message here.