* Add cygwin CI
* add cygwin packages
* Correct option names
* Cleanup yaml file and synch look and feel
* Synch CI look and feel and correct path issues
* Upgrade oneapi version
* pwsh needs env: for vars
* No continuation char for pwsh
* restore correct pwsh step
* Run subset of tests for cygwin workflow
* Remove space chars in regex
* restore full tests
We previously used a hack introduced in 1.8.5 to paper over differences
in off_t and off64_t when determining the type sizes. We no longer explicitly
support off64_t in the library and AC_SYS_LARGEFILE works fine.
The H5B (version 1 B-tree) package would add some computationally
expensive integrity checks when H5B_DEBUG was defined. Due to their
negative effects on performance, this option was rarely turned on,
making the H5B__assert() check function stale, if not dead, code.
This change:
* Builds H5B__assert() when NDEBUG is not defined (the function
relies on assert()) so it gets compiled more often.
* Removes some printf debugging statements in the B-tree code
* Removes all H5B "extra debug" checks that are leftover from
past debugging sessions. Maintainers can add H5B__assert()
selectively to perform integrity checks when debugging.
* Removes the HDF5_ENABLE_DEBUG_H5B CMake option
H5B_DEBUG now has no effect
* Switch warnings as errors to default OFF
* Enable mac docs
* Add doxygen action uses step
* Use html div around snippet
* Allow preset name to be an argument to cmake-ctest.yml
* Add 'warning density' computation to the warnhist script, along with several
cleanups to it. Add "--enable-show-all-warnings" configure (and CMake)
option to disable compiler diagnostic suppression (and therefore show all the
otherwise suppressed compiler diagnostics), disabled by default. Clean up
a buncn of misc. warnings.
Signed-off-by: Quincey Koziol <qkoziol@amazon.com>
configure.ac contains a sed line that cleans up incorrect library
flags which was added to paper over some bugs in earlier versions
of the Autotools. These issues are not a problem with the current
versions of the Autootols.
The sed line causes problems on MacOS, so it has been removed.
Fixes#3843
Add for both CMake and the Autotools
* HDF5_ENABLE_DOXY_WARNINGS: ON/OFF (Default: ON)
* --enable-doxygen-errors: enable/disable (Default: enable)
The default will fail compile if the doxygen parsing generates warnings.
The option can be disabled if certain versions of doxygen have parsing
issues. i.e. 1.9.5, 1.9.8.
Fixes#3398
* Adds a config/clang-fflags options file to support Flang
* Corrects missing "-Wl," from linker options in the libtool wrappers
when using Flang, the MPI Fortran compiler wrappers, and building
the shared library. This would often result in unrecognized options
like -soname.
* Enable -nomp w/ Flang to avoid linking to the OpenMPI library.
CMake can build the parallel, shared library w/ Fortran using AOCC
and Flang, so no changes were needed for that build system.
Fixes GitHub issues #3439, #1588, #366, #280
* H5MM_calloc and malloc are now mapped to stdlib C calls
* H5MM_memcpy now maps directly to memcpy in release builds
* H5MM_memcpy is still implemented as a separate function that
checks for buffer overlap when H5MM_DEBUG is defined
(default w/ debug builds)
* Switches many library memcpy calls to use H5MM_memcpy
* Fixes a possible zero allocation in H5Olayout.c
Since libaec is so prevalent and BSD-licensed for both encode and
decode, we build the szip filter by default when the szip or aec
libraries are found.
* Subfiling VFD source cleanup
Modularize Subfiling CMake code into separate CMakeLists.txt file
Update Mercury util code to latest version and update Copyright
Generate mercury_util_config.h header file instead of using
pre-generated file
Remove unnecessary Mercury functionality
Fix minor warning in Subfiling VFD code
* Remove Mercury headers from Autotools publicly-distributed header list
* Remove unused HD macros
The library prefixes most C and POSIX API calls with 'HD'. We are
going to start removing these so the code looks like normal C.
This PR removes most of the unused HD markup macros.
* Replace ntohl/ntohs
Removes H5detect and H5make_libsettings from the build and replaces
their functionality with things that don't affect cross-compiling.
H5detect --> floating-point types are now detected on library load
H5make_libsettings --> Moved functionality to a new H5build_settings.c template file
Several options and public symbols that were provided to paper
over non-standard long double conversions between signed/unsigned
long and long long values were removed from the Autotools and
CMake. These were added twenty years ago, when C99 and 64-bit
platforms were less common and are no longer needed.
Autotools:
--enable-dconv-accuracy
CMake:
HDF5_WANT_DATA_ACCURACY
H5pubconf.h symbols:
H5_WANT_DATA_ACCURACY
H5_LDOUBLE_TO_LONG_SPECIAL
H5_LONG_TO_LDOUBLE_SPECIAL
H5_LDOUBLE_TO_LLONG_ACCURATE
H5_LLONG_TO_LDOUBLE_CORRECT
H5_DISABLE_SOME_LDOUBLE_CONV
Adds some H5pubconf.h entries and cpp flags for building on MinGW
using the Autotools.
Also updates the Windows-related H5pubconf.h comments to be more
accurate in CMake.
In both CMake and the Autotools, remove checks for:
* lstat
* srandom
In CMake, remove checks for:
* string.h
* strings.h
* stdlib.h
We assume these exist. Configure will always check for them (we don't
add any special code to do this), but there's no reason to duplicate
that nonsense in CMake.
* Fix for Autotools --disable-deprecated-symbols
When we added v116 as a valid option, we left the default as v114 so
using --disable-deprecated-symbols leads configure to complain that you
can't set a default API that was deprecated.
The GitHub action didn't catch this because it explicitly specifies v116
This only affects develop w/ the Autotools when
--disable-deprecated-symbols is requested.
* Added v116 & default to the --with-default-api-version help string
The Autotools --with-default-api-version help string was missing v116.
This has been added, as well as a "default" target so the CI can catch
version problems when we forget to update the defaults upon creating
a new major version.
The GitHub CI also now uses "default" as the target for the deprecated
symbols build.
* Fixes the 1.14 API GitHub CI threadsafe/build_mode
This action still had the bug we fixed where we set the build mode
and threadsafety using an array of size one instead of an object.
* H5F_LIBVER_LATEST changes for move to 1.15
* Add new default api check
* Format fixes
* Fix default configure
* fix lib version tests
* Fix another version variable
* Add 1.14 doc link
Return the result rather than setting the exit code. "return" is a
language keyword whereas "exit" is a function for which the <stdlib.h>
header has to be included which it wasn't in this test, therefore the
test would previously fail to identify that the encoder was enabled if
"-Werror=implicit-function-declaration" was used, which it is by default
with clang from Xcode 12 and later.
Fixes#2262
* Removes MPE instrumentation support.
The Autotools will no longer accept --with-mpe= and the logging commands
have been removed from the FUNC_ENTER macros. CMake has never supported
instrumenting for MPE.
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
This has not been used to debug the library in a very long time. Most
developers use valgrind, -fsanitize=address, or some other memory checker
instead of this library.
This removes:
* dmalloc.h include from H5private.h
* --with-dmalloc= Autotools configure option
* HDF5_ENABLE_USING_DMALLOC CMake option
* Updated source file copyright headers to remove "Copyright by the Board of Trustees
of the University of Illinois", which is kept in the top-level COPYING file.
* Removed the: file, func, line args in the _async APIs from the doxygen arguments. Documented H5ESclean.
* format fixes
* fixed DOXYGEN_PREDEFINED
* Fixed the #ifdet logic for doxygen, added missing multi-dataset va_args
* format fixes
* Use H5_DOXYGEN instead of H5_DOXYGEN_FORTRAN
* reordered multidataset declarations
* alt. for H5Aclose_async and H5Acreate_async
* made doxgyen API into seperate blocks
* updated codespell
* Committing clang-format changes
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>