<indirect_ref 0xb7ed82c0 arg 0 <plus_expr 0xb7ee81d4 arg 0 <var_decl 0xb7f2506c D.1314 type <pointer_type 0xb7ee96c0> arg 1 <integer_cst 0xb7f4f978 constant invariant 20>>>
So, how to change this function? As a MEM_EXPR may only be a DECL or a COMPONENT_REF, storing a indriect_ref of a plus_expr is also not valid. This is, why I had to change the other functions.
There is a var_decl here inside the indirect_ref. Will using that work? There was an eeprom attribute on the indirect_ref. I didn't see it on the var_decl, but presumably it is there and just wasn't printed because of the nesting levels. If there wasn't an eeprom on the var_decl, then how did the indirect_ref get one?
I peronally like to stay for my port at my current solution, until I hit a problem or I find a more compilant way for solving this issue. Storing also types has the advantage, that even in that case, the replacement will work.
Sure. No problem. This can wait until you are ready to submit something, at which point it can be rewritten if necessary.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com