* Fixes clang debug optimization level w/ Autotools
NOTE: This was only released in HDF5 1.10.7, so only the 1.10
branch needs a note in RELEASE.txt.
* Updates the clang -Og setting with a version check w/ autotools
* Sets -Og when clang >= 4.0 or Xcode >= 9.0
* Older versions get -O1
* Autotools only
* (fix) H5Z_xform_create function and scientific notation
Implemented a more sophisticated check to support scientific notation
in the expression of the H5Zset_data_transform function.
* (fix) H5Z_xform_create and scientific notation: Added test.
Added a test to demonstrate that the parsing of expression
which includes scientific notation works correctly. Improved
inline comment.
Co-authored-by: Jan-Willem Blokland <Jan-Willem.Blokland@Shell.com>
* Add H5atclose and H5is_library_terminating routines.
* Add brief Doxygen comment for H5_atclose_func_t typedef.
* Added /*out*/ flag to parameter list, for the tracing script.
* Update doxygen comment for H5atclose with additional detail.
* Return FAIL for H5is_library_threadsafe and H5is_library_terminating when their parameters are NULL.
* Expand ID dec_ref and close callbacks to allow for asynchronous close operations.
* Fix typo
* Rename token -> request, remove programmer name
* H5E_ATOM to H5E_ID
* Renames H5I_ATOM to H5I_ID, among other related changes
* Java has been updated.
* Fortran is failing on my VM, even though I don't touch that.
* Adds a RELEASE.txt note for H5E_ATOM to H5E_ID changes
* Fixes typos in comments
* Updates to allow autotools builds on recent FreeBSD
* Switches the default C compiler to cc from gcc
(this may need a version string check if we want to support
FreeBSD 9 and earlier. FreeBSD 10 was released in 2014)
* Makes the default C++ compiler c++ (no previous setting)
* Both of these resolve to Clang on FreeBSD 10+
* Added a note about flang being unsuitable on FreeBSD
(the port uses an ancient build of flang that lacks Fortran
2003 support)
* Autotools only - CMake appears to use different CPP flags
which cause compilation errors
* Adds a RELEASE.txt note for new FreeBSD autotools changes
Enhance API tracing to handle more types, and to put tracing info in a string, allowing it to be used when reporting errors. Also refactor ref-counted strings (H5RS) module to add capabilities needed for the tracing. Refactored H5Gname.c routines to use new H5RS routines also. Added /*out*/ tags to API routines that are returning information to the application. Updated H5TRACE macros from running updated trace script over library code. Added tests for new H5RS routines.
* Basic alignment with async branch - trivial changes to reduce clutter in overall diff.
* Update minor error code to reflect change within library
* Update the error output to match library
* First cut of the H5 public API documentation.
* Added H5Z "bonus track."
* Applied Quincey's patch.
* Added the missing patches from Quincey's original patch.
* H5PL (complete) and basic H5VL API documentation.
* Added H5I API docs.
* Added H5L API docs.
* First installment from Elena's H5T batch.
* Second installment of Elena's H5T batch.
* Final installment of Elena's H5T batch.
* Migrated documentation for SWMR functions.
* Catching up on MDC functions.
* Integrated the H5F MDC function documentation.
* Added MDC and parallel H5F functions.
* Slightly updated main page.
* Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST.
* Revert "Switch ID code to use a hash table instead of a skip list (#52)"
This reverts commit a50d211755.
* H5I_id_type_t and H5I_class_t are no longer managed via free lists
* Fixed commenting issues
* Naming and commenting cleanup in H5I.c
* H5I cleanup
* Header cleanup
* Commenting
* More uniform naming
* Renames H5I_id_type_t and related in H5I.c
* Adds gcc pragmas to ignore H5I const casting
* Split H5I code into multiple files
* Rename id_type to simply type in H5I code
* Minor typo in H5Itest.c
* First cut of the H5 public API documentation.
* Added H5Z "bonus track."
* Applied Quincey's patch.
* Added the missing patches from Quincey's original patch.
* H5PL (complete) and basic H5VL API documentation.
* Added H5I API docs.
* Added H5L API docs.
* First installment from Elena's H5T batch.
* Second installment of Elena's H5T batch.
* Final installment of Elena's H5T batch.
* Brings hash table ID code over from Bitbucket branch
* Includes reformatting via clang.
* Excludes uthash.h from reformatting.
* Still has the failing test issue in tid.c. This should only be a
problem if a custom ID type is used and its free function deletes
other IDs.
* Fixes munged H5_GCC_DIAG_ON/OFF macros in H5I.c
The H5_GCC_DIAG_ON/OFF macros used to turn off fallthrough warnings
in uthash.h (external code) were munged when formatting with clang
due to their lack of quotes.
e.g.;
H5_GCC_DIAG_OFF(implicit-fallthrough)
was munged to:
H5_GCC_DIAG_OFF(implicit - fallthrough)
which compiles, but is useless. So, with quotes, this is now:
H5_GCC_DIAG_OFF("implicit-fallthrough")
which survives reformatting with clang.
* Fixes issues with user callbacks in the ID hash tables
The skip lists (previously) used to handle IDs use a mark-and-sweep
scheme to deal with user-defined ID delete callbacks which themselves delete
other IDs in the list. The uthash hash table implementation used to manage
the IDs in this feature branch does not have this ability.
This commit restores the skip lists for non-library ID types in lieu of
significantly modifying the uthash code. The hash tables are used to
manage the library IDs as those do not delete other IDs when they are
closed.
* Adds uthash.h to MANIFEST
* Removes implicit-fallthrough diagnostic disable
Removing -Wimplicit-fallthrough=5 means that the uthash code
no longer raises warnings so the H5_GCC_DIAG_OFF/ON macros
that disabled those warnings have been removed from H5I.c.
* Adds a test to ensure you can delete IDs in the H5Iiterate() callback