------- Additional Comments From aoliva at gcc dot gnu dot org 2005-04-02 17:27 ------- Subject: Re: [PR c++/20103] failure to gimplify constructors for addressable types
On Mar 18, 2005, Alexandre Oliva <[EMAIL PROTECTED]> wrote: > Index: gcc/ChangeLog > from Alexandre Oliva <[EMAIL PROTECTED]> > PR c++/20103 > * gimplify.c (gimplify_decl_expr): Add temp variable to binding > before gimplifying its initializer. > * c-gimplify.c (gimplify_compound_literal_expr): After replacing > the expr with a decl, we're all done. > Index: gcc/cp/ChangeLog > from Alexandre Oliva <[EMAIL PROTECTED]> > PR c++/20103 > * cp-tree.h (build_compound_literal): Declare. > * semantics.c (finish_compound_literal): Move most of the code... > * tree.c (build_compound_literal): ... here. New function. > (lvalue_p_1): Handle COMPOUND_LITERAL_EXPR. > (stabilize_init): Likewise. > * pt.c (tsubst_copy_and_build): Likewise. > * call.c (build_over_call): Likewise. > * class.c (fixed_type_or_null): Likewise. > * cp-gimplify.c (cp_gimplify_init_expr): Likewise. > (cp_gimplify_compound_literal_expr): New. > (cp_gimplify_expr): Use it. > * cvt.c (force_rvalue, ocp_convert): Handle COMPOUND_LITERAL_EXPR. > * typeck.c (build_x_unary_op): Likewise. > (cxx_mark_addressable): Likewise. > (maybe_warn_about_returning_address_of_local): Likewise. Ping? http://gcc.gnu.org/PR20103 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20103