Re: [Ping] [Patch C++] RFC Fix PR57958

2014-04-18 Thread Jason Merrill
On 04/18/2014 11:39 AM, Paolo Carlini wrote: I'm traveling and I can't really check, but I seem to remember that we do have a VOID_TYPE_P. True, I suppose that would be preferable. Jason

Re: [Ping] [Patch C++] RFC Fix PR57958

2014-04-18 Thread Paolo Carlini
Hi, On 18 aprile 2014 17:20:40 CEST, Jason Merrill wrote: >On 04/18/2014 08:53 AM, Dinar Temirbulatov wrote: >> + if (TREE_CODE (TREE_TYPE(result)) != VOID_TYPE) > >Space after TREE_TYPE. OK with that change. I'm traveling and I can't really check, but I seem to remember that we do have

Re: [Ping] [Patch C++] RFC Fix PR57958

2014-04-18 Thread Jason Merrill
On 04/18/2014 08:53 AM, Dinar Temirbulatov wrote: + if (TREE_CODE (TREE_TYPE(result)) != VOID_TYPE) Space after TREE_TYPE. OK with that change. Jason

Re: [Ping] [Patch C++] RFC Fix PR57958

2014-04-18 Thread Dinar Temirbulatov
I found typo in the testcase header, fixed. Ok to apply to trunk? thanks, Dinar. On Fri, Apr 18, 2014 at 1:13 PM, Dinar Temirbulatov wrote: > Hello, > Here is another version of fix. This time, I added > complete_type_or_else call just before aggregate_value_p. Bootstraped > and t

Re: [Ping] [Patch C++] RFC Fix PR57958

2014-04-18 Thread Dinar Temirbulatov
Hello, Here is another version of fix. This time, I added complete_type_or_else call just before aggregate_value_p. Bootstraped and tested on x86_64-pc-linux-gnu with no new regressions. Ok to apply to trunk? Thanks, Dinar. On Mon, Apr 7, 2014 at 11:47 PM, Jason Merrill

Re: [Ping] [Patch C++] RFC Fix PR57958

2014-04-07 Thread Jason Merrill
On 04/07/2014 03:46 PM, Jason Merrill wrote: I guess we need to call complete_type before aggregate_value_p. complete_type_or_else, actually. Jason

Re: [Ping] [Patch C++] RFC Fix PR57958

2014-04-07 Thread Jason Merrill
On 04/07/2014 12:56 PM, Dinar Temirbulatov wrote: /* We can't initialize a register from a AGGR_INIT_EXPR. */ else if (! cfun->returns_struct && TREE_CODE (retval) == TARGET_EXPR && TREE_CODE (TREE_OPERAND (retval, 1)) == AGGR_INIT_EXPR) retval =

[Ping] [Patch C++] RFC Fix PR57958

2014-04-07 Thread Dinar Temirbulatov
Hi, I revised the patch from http://gcc.gnu.org/ml/gcc-patches/2014-04/msg00083.html. This change fixes PR57958 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57958) For this code: auto fn = [] (const Foo& x) { return (x); }; { Foo a; fn(a); } Current version of trunk generates fol