Re: [C++ Patch] PR 58871

2014-02-03 Thread Paolo Carlini
Hi, On 02/03/2014 05:55 PM, Jason Merrill wrote: On 02/03/2014 11:52 AM, Paolo Carlini wrote: Note, anyway, that unfortunately it's pretty easy to construct an ICE on valid too, which doesn't seem a regression, but should be also looked at. struct B { }; template struct A : virtual B { A

Re: [C++ Patch] PR 58871

2014-02-03 Thread Jason Merrill
On 02/03/2014 11:52 AM, Paolo Carlini wrote: Note, anyway, that unfortunately it's pretty easy to construct an ICE on valid too, which doesn't seem a regression, but should be also looked at. struct B { }; template struct A : virtual B { A(); A(const A&); }; template A::A(const A&) = def

Re: [C++ Patch] PR 58871

2014-02-03 Thread Paolo Carlini
On 02/03/2014 05:17 PM, Jason Merrill wrote: Use vec_safe_is_empty instead of checking the two representations of an empty vector separately. OK with that change. Ah nice. Thanks. Note, anyway, that unfortunately it's pretty easy to construct an ICE on valid too, which doesn't seem a regressi

Re: [C++ Patch] PR 58871

2014-02-03 Thread Jason Merrill
Use vec_safe_is_empty instead of checking the two representations of an empty vector separately. OK with that change. Jason

[C++ Patch] PR 58871

2014-02-03 Thread Paolo Carlini
Hi, in this ICE on invalid regression, after a sensible error message about the invalid base type we crash in implicit_declare_fn at the gcc_assert: else if (trivial_p && cxx_dialect >= cxx11 && (kind == sfk_copy_constructor || kind == sfk_move_constructor)) gcc_assert