On 05/06/2015 12:28 PM, Jason Merrill wrote: > On 05/05/2015 04:33 PM, Aldy Hernandez wrote: >> On 05/05/2015 02:08 PM, Jason Merrill wrote: >>> On 05/04/2015 09:29 PM, Aldy Hernandez wrote: >>>> The code handling parameter DIEs needed a little tweaking for variable >>>> length template arguments. I've relaxed the original assert, but this >>>> may require tweaking at branch review time-- hopefully later this week. >>> >>> What testcase motivated this? We're within a formal_parameter_pack, but >> >> Pretty much every other test in the libstdc++-v3 testsuite was failing >> with the ICE I elided in my patch. >> >> I wasn't able to narrow it down to a tiny test, but I can do so if you >> want. ?? > > I think that would be helpful so we can decide what we want the debug > output to look like. > > Jason > > Removing the aforementioned patch from the branch with the attached one-liner, you can reproduce on the following reduced testcase (-O -g -quiet -std=gnu++14): template < typename _Tp > _Tp forward () { }; template < typename blahblah > class vector { public: template < typename ... _Args > void emplace_back (_Args ...); template < typename ... _Args > void _M_emplace_back_aux (_Args ...); }; template < typename _Tp > template < typename ... _Args > void vector <_Tp >::emplace_back (_Args ...) { _M_emplace_back_aux (forward < _Args > ...); } void foobar () { vector < int >myvecint; myvecint.emplace_back (0, 0); }