> Er, the macro _GLIBCXX_NPROCS already handles > the case sysconf(_SC_NPROCESSORS_ONLN). > It looks like you actually want to remove the macro > _GLIBCXX_NPROCS completely.
Fixed. diff --git a/libstdc++-v3/src/thread.cc b/libstdc++-v3/src/thread.cc index 09e7fc5..6feda4d 100644 --- a/libstdc++-v3/src/thread.cc +++ b/libstdc++-v3/src/thread.cc @@ -112,10 +112,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION unsigned int thread::hardware_concurrency() noexcept { - int __n = _GLIBCXX_NPROCS; - if (__n < 0) - __n = 0; - return __n; + int count = 0; +#if defined(PTW32_VERSION) || \ + (defined(__MINGW64_VERSION_MAJOR) && defined(_POSIX_THREADS)) || \ + defined(__hpux) + count = pthread_num_processors_np(); +#elif defined(__APPLE__) || defined(__FreeBSD__) + size_t size = sizeof(count); + sysctlbyname("hw.ncpu", &count, &size, NULL, 0); +#elif defined(_GLIBCXX_USE_GET_NPROCS) || \ + defined(_GLIBCXX_USE_SC_NPROCESSORS_ONLN) + count = _GLIBCXX_NPROCS; +#endif + return (count > 0) ? count : 0; } _GLIBCXX_END_NAMESPACE_VERSION > Do you have already a Copyright assignment in place? No. For public domain.