------- Comment #14 from jakub at gcc dot gnu dot org  2009-06-10 21:27 -------
The gimplifier sees:
TARGET_EXPR <D.2252, <<< Unknown tree: aggr_init_expr
  3
  baz
  D.2252 >>>
>;
and:
    arg 0 <var_decl 0x7ffff2d7f280 D.2252 type <record_type 0x7ffff2d61780 H>
        addressable ignored BLK file pr40389.C line 67 col 12 size <integer_cst
0x7ffff2e136c0 192> unit size <integer_cst 0x7ffff2e13660 24>
        align 64 context <function_decl 0x7ffff2d80100 main>>
and
<record_type 0x7ffff2d61780 H addressable needs-constructing type_1 type_4
type_5 type_6 BLK...
(i.e. both are addressable).
Yes, as I said earlier, I think we should handle
D.2249 = baz (); [return slot optimization]
as taking address of D.2249, at least if it has TREE_ADDRESSABLE type.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40389

Reply via email to