Yoav Etsion wrote: > The problem is that the first mudflap pass takes place at the GIMPLE > level, at which point all variables have their > addressable/non-addressable attributes set, which forbids me to build an > ADDR_EXPR node for a non-addressable pointer variable ("invalid operand > to unary & operator" error). > Call build_addr() to create the ADDR_EXPR. It will set the TREE_ADDRESSABLE bit on the variable and set some attributes on the ADDR_EXPR itself.
That message suggest that you may be trying to build the address of a non-decl, though. Show me the code and an example of your transformation?