hdf5/config/gnu-warnings
Quincey Koziol 9fd88560d5
Refactor threading and other concurrency support (#4469)
Complete overhaul of the concurrency-related aspects of the library (threading, atomics, locking, etc.), adding private routines in the H5TS package to allow internal algorithms to use all of these capabilities.

Adds many new features & components in the H5TS package that are equivalent to common concurrency data structures and capabilities: "regular" and recursive mutices, condition variables, semaphores, thread barriers, 'once' support, thread pools, atomic variables, thread-local keys, and spawning & joining internal threads.

Now supports C11, pthreads, and Windows threading for all H5TS capabilities, except the recursive readers/writers lock, which is not supported on Windows (because Windows threads don't provide a callback on thread-local variable deletion).

The "global" API lock is switched to use a recursive mutex from the H5TS package, instead of its own variant.

API context code (H5CX package) and error stacks (H5E package) now use the common thread-local info, instead of their own variants.

Subfiling code is switched from using Mercury threading features to the new internal H5TS features.

Removes the mercury threading code.

Adds a configure option (--enable-threads / HDF5_ENABLE_THREADS), enabled by default, to control whether threading is enabled within the library.
2024-07-31 12:34:43 -05:00
..
4.8 Updates comments in the gcc 4.8 warnings files (#1902) 2022-07-18 07:36:26 -07:00
4.8-4.last Revise gnu-*flags and cmake/HDF*CompilerFlags.cmake files to add warning 2020-05-18 14:28:51 -05:00
4.9 Move the GNU warnings configuration under config/gnu-warnings/ and trim 2020-03-18 21:12:53 -05:00
5 Move the GNU warnings configuration under config/gnu-warnings/ and trim 2020-03-18 21:12:53 -05:00
6 Move the GNU warnings configuration under config/gnu-warnings/ and trim 2020-03-18 21:12:53 -05:00
7 Re-promote some GNU warnings to errors (#1508) 2022-05-06 16:26:48 -07:00
8 Turn on -Werror for Java in GitHub -Werror workflows (#4243) 2024-03-26 07:40:16 -05:00
9 Move the GNU warnings configuration under config/gnu-warnings/ and trim 2020-03-18 21:12:53 -05:00
9.3 Add compiler flags for GCC 10, along with updating warnhist script to accommodate them. (#217) 2020-12-21 12:57:18 -06:00
cxx-4.8 Updates comments in the gcc 4.8 warnings files (#1902) 2022-07-18 07:36:26 -07:00
cxx-4.9 Organize and align compiler flags (#741) 2021-06-10 22:51:15 -05:00
cxx-5 TRILAB-244 separate CXX warnings and errors from C 2020-04-23 14:32:29 -05:00
cxx-9 Organize and align compiler flags (#741) 2021-06-10 22:51:15 -05:00
cxx-developer-4.8 Moves -Wstrict-overflow=5 to the developer warnings (#1878) 2022-07-11 18:25:57 -07:00
cxx-error-5 TRILAB-244 separate CXX warnings and errors from C 2020-04-23 14:32:29 -05:00
cxx-error-general TRILAB-244 separate CXX warnings and errors from C 2020-04-23 14:32:29 -05:00
cxx-general Fixes for format string warnings raised by -Wformat=2/-Wformat-security (#1489) 2022-03-11 13:10:20 -06:00
developer-4.8 Moves -Wstrict-overflow=5 to the developer warnings (#1878) 2022-07-11 18:25:57 -07:00
developer-7 Move the GNU warnings configuration under config/gnu-warnings/ and trim 2020-03-18 21:12:53 -05:00
developer-8 Move the GNU warnings configuration under config/gnu-warnings/ and trim 2020-03-18 21:12:53 -05:00
developer-10 Removed -fanalyzer from the gcc 10 developer options (#744) 2021-06-10 12:26:41 -05:00
developer-12 [WIP] Add Developer build mode to CMake (#1659) 2022-08-19 17:18:30 -07:00
developer-general Develop intel split (#3722) 2023-10-19 15:17:20 -07:00
error-5 Move -Werror=int-conversion from error-general to error-5 in (#1194) 2021-11-13 22:11:25 -06:00
error-7 Re-promote some GNU warnings to errors (#1508) 2022-05-06 16:26:48 -07:00
error-8 Turn on -Werror for Java in GitHub -Werror workflows (#4243) 2024-03-26 07:40:16 -05:00
error-general Refactor threading and other concurrency support (#4469) 2024-07-31 12:34:43 -05:00
general Fixes for format string warnings raised by -Wformat=2/-Wformat-security (#1489) 2022-03-11 13:10:20 -06:00
gfort-4.8 Adds -Warray-temporaries to the developer warnings (#2385) 2023-01-03 06:18:48 -08:00
gfort-6 TRILAB-192 add c++ and fortran warnings build systems one file 2020-04-05 10:50:08 -05:00
gfort-8 TRILAB-192 add c++ and fortran warnings build systems one file 2020-04-05 10:50:08 -05:00
gfort-developer-4.8 Adds -Warray-temporaries to the developer warnings (#2385) 2023-01-03 06:18:48 -08:00
gfort-developer-5 Corrects more Fortran warnings (#2059) 2022-08-23 08:48:14 -07:00
gfort-developer-general Corrects more Fortran warnings (#2059) 2022-08-23 08:48:14 -07:00
gfort-general Remove flag from gfort-general in gfort-5, add /EHsc to Win C++ 2020-04-06 16:12:43 -05:00
gfort-no-developer-4.8 Adds -Warray-temporaries to the developer warnings (#2385) 2023-01-03 06:18:48 -08:00
gfort-no-developer-general Corrects more Fortran warnings (#2059) 2022-08-23 08:48:14 -07:00
no-cxx-developer-4.8 Moves -Wstrict-overflow=5 to the developer warnings (#1878) 2022-07-11 18:25:57 -07:00
no-developer-4.8 Moves -Wstrict-overflow=5 to the developer warnings (#1878) 2022-07-11 18:25:57 -07:00
no-developer-8 Move the GNU warnings configuration under config/gnu-warnings/ and trim 2020-03-18 21:12:53 -05:00
no-developer-general Moved -Woverlength-strings to the developer flags. 2020-04-26 04:22:12 -07:00