Commit Graph

164 Commits

Author SHA1 Message Date
Dana Robinson
a50d211755
Switch ID code to use a hash table instead of a skip list (#52)
* 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
2020-11-17 12:06:39 -06:00
Allen Byrne
9c78cc4541 Merge remote-tracking branch 'origin/develop' into develop 2020-10-07 08:33:34 -05:00
Allen Byrne
087fc700c2 Update code owners 2020-10-07 08:28:19 -05:00
Quincey Koziol
66bcfd97a8
Update reformatting settings, trace wrapping, and printf-format strings (#22)
* Add BEGIN_FUNC / CATCH / END_FUNC to macros

* Remove incorrect trailing '{'

* Update trace script to wrap H5TRACE macros at 110 characters and improve
comments for code that performs this operation.

* Clean up printf-formatting in H5public.h and correct some oversights in the code.

* Reformat with BEGIN_FUNC / END_FUNC handled correctly by clang-format

* Run clang-format on changes.

* Correct H5_SIZEOF_HSIZE_T/H5_SIZEOF_HSSIZE_T macros to match typedef.

* And make the undef value match also.

* Update comment

* Update clang-format actions to exclude generated files.

* Post-process generated H5LTparse.h file as well as H5LTparse.c file.

* Fix formatting

* Update version of github clang-format action
2020-10-06 17:37:42 -05:00
Allen Byrne
937219e7af Update for minimum of two owners 2020-10-06 12:36:11 -05:00
Allen Byrne
ff1edd709a github environment variable change 2020-10-06 11:59:58 -05:00
Allen Byrne
1a4c5cc22c Actions updates 2020-10-02 10:20:28 -05:00
Allen Byrne
03bbf36114 Add code owners file 2020-09-24 15:05:04 -05:00
Allen Byrne
f71e74f4e4 Update actions - split push/pull-request commits 2020-09-24 13:52:24 -05:00
Allen Byrne
30c7264c2c CMake and script changes for clang-format 2020-09-04 16:36:52 -05:00
Allen Byrne
a2f2887675 add test file ext 2020-07-17 13:22:26 -05:00
Allen Byrne
f82348f809 Comment out pull-request action and enable fail fast 2020-05-08 15:32:15 -05:00
Allen Byrne
a1ce9b2242 Correct step name 2020-05-06 11:08:12 -05:00
Allen Byrne
521c3f8ff6 Add github actions 2020-05-06 08:10:37 -05:00