Index: lib/fuzzer/FuzzerDefs.h =================================================================== --- lib/fuzzer/FuzzerDefs.h +++ lib/fuzzer/FuzzerDefs.h @@ -183,6 +183,12 @@ template struct rebind { typedef fuzzer_allocator other; }; + + template< class U, class... Args > + void construct( U* p, Args&&... args ) { + std::allocator::construct(p, std::forward(args)...); + } + }; template Index: lib/fuzzer/FuzzerDriver.cpp =================================================================== --- lib/fuzzer/FuzzerDriver.cpp +++ lib/fuzzer/FuzzerDriver.cpp @@ -257,7 +257,7 @@ std::thread Pulse(PulseThread); Pulse.detach(); for (unsigned i = 0; i < NumWorkers; i++) - V.push_back(std::thread(WorkerThread, std::ref(Cmd), &Counter, NumJobs, &HasErrors)); + V.emplace_back(WorkerThread, std::ref(Cmd), &Counter, NumJobs, &HasErrors); for (auto &T : V) T.join(); return HasErrors ? 1 : 0;