On Tue, Dec 11, 2012 at 11:19:48AM -0500, Jason Merrill wrote: > On 12/11/2012 03:16 AM, Jakub Jelinek wrote: > >+ if (constraint_parsed && !allows_reg && allows_mem) > >+ operand = mark_rvalue_use (TREE_VALUE (t)); > > This should be mark_lvalue_use, since we're using its address rather > than its value. OK with that change.
I guess it depends on how would make_lvalue_use differ from make_rvalue_use in the future. To some extent it is lvalue-ish use, but not completely, while it is taking its address, it is fine if the operand is e.g. const, which is wrong for lvalues. I'll change it, it can be adjusted when some difference between the two is actually added. Jakub