http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48750
sing...@gcc.gnu.org <singler at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |singler at gcc dot gnu.org --- Comment #16 from singler at gcc dot gnu.org <singler at gcc dot gnu.org> 2011-04-27 19:59:29 UTC --- I have reviewed the patch, it looks mostly fine. Thanks! Only line 606 of losertree.h might not yet be fully consistent with line 597. I'm not sure all loser tree members are correctly constructed in the first place. We might have to add for (unsigned int __i = 0; __i < _M_k; ++__i) { ::new(&(_M_losers[__i]._M_key)) _Tp(__sentinel); _M_losers[__i]._M_source = -1; } I will test that... We have used these ::operator new/placement new construction to avoid calling the default constructor, which might not be available for the ValueType. Interference with the actual parallelism should be minimal.