https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69889

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This looks like a C++ FE bug to me, the operator() method is called with
TREE_ADDRESSABLE argument by value, rather than by reference.
Normally, when the C++ FE goes through build_over_call, convert_for_arg_passing
(or earlier code) should change those arguments to reference passing.
On this testcase the call is generated from simplify_aggr_init_expr, and is
passed by value instead.  I don't know the FE enough to know if it should be
already aggr_init_expr AGGR_INIT_EXPR_ARGP argument to be actually the
reference, or if it is a simplify_aggr_init_expr bug.
Jason, can you please have a look?

Reply via email to