On 4/21/21 8:27 PM, Jakub Jelinek wrote: > On Wed, Apr 21, 2021 at 08:06:26PM +0200, Martin Liška wrote: >> On 4/21/21 7:56 PM, Jakub Jelinek wrote: >>> On Wed, Apr 21, 2021 at 11:50:02AM -0400, David Edelsohn via Gcc-patches >>> wrote: >>>> This patch broke bootstrap on AIX. >>>> >>>> std::thread is not provided in all instances. GCC is not compiled >>>> multi-threaded by default. >>>> >>>> error: `std::thread' has not been declared. >>> >>> In addition to that, I'm not really convinced it is a good idea, >>> e.g. for Linux I believe the previous implementation was much better >>> (as it counted only the cores/threads available to gcc subprocesses, >>> rather than all available on the system, so e.g. when running some >>> compilation job under taskset with std::thread::hardware_concurrency it >>> will oversubscribe the available CPUs). >> >> Well, the previous implementation was over-complicated! I think we can live >> with an implementation that covers 99% of the cases. It's parallel level >> for LTO LTRANS run. > > No, it was the standard way how to query that information. > E.g. libgomp does that too.
I would not call it standard. A normal user can't never handle all the corner cases that are in the implementation. Anyway, that's why we have a C++ ISO standard and so std::thread::hardware_concurrency function implementation can (and likely should) handle all this. Or? Martin > > Jakub >