> @@ -9870,7 +9871,14 @@ expand_expr_real_1 (tree exp, rtx target > if (op0 == orig_op0) > op0 = copy_rtx (op0); > > - set_mem_attributes (op0, exp, 0); > + /* If op0 is a temporary because of forcing to memory, pass only the > + type to set_mem_attributes so that the original expression is never > + marked as ADDRESSABLE through MEM_EXPR of the temporary. */ > + if (mem_attrs_from_type) > + set_mem_attributes (op0, TREE_TYPE (exp), 0);
set_mem_attributes (op0, type, 0); is equivalent. -- Eric Botcazou