Is there syntax in C to let the compiler know that a certain variable is done for and will henceforth not be used anymore, thus potentially freeing up a register? I'd rather not use function calls because they are expensive.
I know I could reuse a variable, but that leads to ambiguity (what does this variable mean?).
Example:
first_byte = somestring[0];
/*[do a couple of operations on first_byte]*/
done_for(first_byte);
second_byte = somestring[1];
The reason I'm not feeding the array+index directly into my operations is because I'm not sure if all compilers will optimize that to use a temp register rather than translating the address every time.
And no, I can't use a name like 'temp'. This is about reading a packed datastructure.