Commit Graph

731 Commits

Author SHA1 Message Date
Allen Byrne
8f3e544193
Filter plugins updates for registration URL (#4180)
* Update filter plugin URL to new location

* Adjust test array size
2024-03-19 15:11:15 -05:00
H. Joe Lee
0ee99a6656
Fix broken links caused by examples relocation. (#3995) 2024-02-07 20:17:53 -06:00
Dana Robinson
ca70d05faa
Update release schedule (#3992)
* Add 2024, remove 2022
* Update README.md
2024-02-06 12:19:46 -08:00
Allen Byrne
ef39882fa1
Change dest for doxygen (#3856)
* Switch doxygen refs to hdf5/develop
2023-11-15 17:32:07 -06:00
jhendersonHDF
c779464bfe
Add GitHub actions for testing VOL connectors (#3849)
* Fix issue with HDF5_VOL_ALLOW_EXTERNAL CMake variable

* Add initial API test workflow

* Initialize parallel testing with MPI_THREAD_MULTIPLE when testing API

* Add CMake variable to allow specifying a VOL connector's package name

* Remove call to MPI_Init in serial API tests

While previously necessary, it now interferes with VOL connectors that
may need to be initialized with MPI_THREAD_MULTIPLE
2023-11-15 08:20:50 -06:00
jhendersonHDF
bfbfaf72e1
Update parallel compression feature to support multi-dataset I/O (#3591) 2023-10-10 10:11:22 -05:00
jhendersonHDF
34fcb9c5a4
Fix several spelling/grammar issues (#3621) 2023-10-03 09:01:28 -07:00
mattjala
68c48159e7
Support CMake VOL builds with FetchContent from local directory (#3455)
* Update VOL CMake for REST VOL

* Prevent linking static libs to VOLs

* index on fetch_local: 5c5c3f1505 Prevent linking static libs to VOLs

* index on (no branch): 9a36d3e7b1 On fetch_local: WIP:add source dir fetch option for vols

* Allow building of VOL from local source

* Move LOCAL_DIR option to HDF5_VOL_ALLOW_EXTERNAL
2023-09-01 14:01:37 -07:00
Dana Robinson
ee0737f4e8
Add 1.14.4 to the release schedule (#3434) 2023-08-25 17:23:25 -07:00
Sean McBride
07df0d252c
Fixes the last of the -Wextra-semi-stmt warnings (#3326)
* Fixed extra semi warning by adjusting alternative macro definitions

* Find-replace H5E_END_TRY; -> H5E_END_TRY

* Made H5Epush_goto a do-while loop, fixed indentation

* Made GOTOERROR and ERRMSG do-while loops

* Made Hgoto_error and Hgoto_done  do-while loops

* Made vrfy_cint_type and vrfy_ctype  do-while loops

* Made TEST_TYPE_CONTIG and others do-while loops

* Removed extraneous semi-colons

* Committing clang-format changes

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-02 17:46:26 -05:00
Allen Byrne
8e9c281cf1
A couple of documentation items to fix (#3332) 2023-08-02 13:16:26 -07:00
Dana Robinson
354491a8f4
Update release schedule (#3317)
* Move 1.12.3 to November
* Add 1.14.3 in October
2023-08-01 10:16:39 -07:00
Dana Robinson
5f0d1439f7
Move 1.12.3 release to October (#3263) 2023-07-19 19:56:29 -07:00
Dana Robinson
b2648a9e74
Update the release schedule for 1.12.3 (#3066) 2023-06-06 19:21:19 -07:00
jhendersonHDF
79bb60c3f6
API test updates (#3018)
* Remove macros from api tests (#2929)
* Remove macros and undefined callbacks (#2959)
* Remove remaining macros from H5_api_tests_disabled.h (#2968)
* Put some vol capability checks in testpar tests and remove remaining warnings (#2995)
* API tests datatype generation cleanup
* Clean up API tests' random datatype generation and fix bug with enum
datatype generation
* Init parallel API tests with MPI_THREAD_MULTIPLE
* HDF5 API tests - Check VOL connector registration
* Determine whether a VOL connector failed to load before running API
tests
* Cleanup some usages of H5VL_CAP_FLAG_CREATION_ORDER in API tests
* Remove some now-unused macros from H5_api_tests_disabled.h
* Enable HDF5 API tests by default
* Implement CMake option to install HDF5 API tests
* Check for invalid AAPL from H5Acreate
* Enable building of VOL connectors alongside HDF5 in CMake
* Prepend CMake VOL URL option indices with 0s so they come in order
* Don't turn on API tests by default yet
* Document VOL connector FetchContent functionality
* Add release note for API test updates
* Only install testing library if API tests are installed
* Fix grammar
2023-05-26 13:29:02 -07:00
Dana Robinson
89902c51dd
Move the 1.10.11 release to September (#2898) 2023-05-05 09:17:00 -07:00
H. Joe Lee
ea7dfcdf80
Change Powershell to PowerShell in docs (#2794) 2023-04-23 13:07:50 -07:00
Dana Robinson
7b46484292
Revert "Added tables of CVE issues (#2685)" (#2696)
This reverts commit b749a4ef09.
2023-04-11 21:23:52 -07:00
bmribler
b749a4ef09
Added tables of CVE issues (#2685) 2023-04-11 23:08:27 -05:00
Dana Robinson
92177ef21e
Update release schedule (#2692) 2023-04-11 11:01:54 -07:00
Dana Robinson
423ee69c1e
Updates README.md (#2387)
* Updates release schedule for 2023

* Fixes broken build badge

* Another build badge tweak

* Even more badge tweaking

* More branch tweaking

* More badge tweaking

* More badge tweaks

* Even more badge tweaking

* Adds badges for other branches
2023-01-04 12:44:51 -08:00
Dana Robinson
adc467992e
Moved the contributing.md document to the project root (#2244) 2022-11-09 09:58:32 -08:00
Dana Robinson
ce67e4eb05
Adds a first cut at a "getting started with HDF5 development" guide (#2137)
* Added empty "getting started" markdown file

* Added title and brief tour of source code

* Moved platform-independence text to markdown

* Added anatomy of a function documentation

* Adds information on public/private/package calls and macros

* Adds much getting started guide text

* Fixed typos

* Fixed codespell issues
2022-09-30 21:44:39 -07:00
Dana Robinson
fe9c07fd90
Adds file locking documentation (#2084)
* Added initial (partial) file locking document

* Almost done with file locking document

* Fix intro

* Cleaned up text

* Updated environment variable verion info

* Fix typo

* Fix typos
2022-09-14 05:53:35 -07:00
Dana Robinson
1804e0e0c4
Updates release schedule for 2023 (#2085)
* Updates release schedule for 2023

* Updates figure to put 1.13 and 1.14 on the same line
2022-09-04 04:42:25 -07:00
jhendersonHDF
95ceec786a
Add documentation for parallel compression feature (#1981) 2022-08-09 16:08:13 -07:00
Dana Robinson
32caa567a2
Updates the release schedule (#1923)
1.13.2 moved to August
Subfiling moved to 1.13.2 from 1.13.3
2022-07-22 05:12:27 -07:00
Dana Robinson
65a24325af
Updates branches-explained.md (#1900) 2022-07-15 16:26:50 -07:00
Dana Robinson
acb6e2da30
Updates the release schedule (#1796) 2022-06-06 09:31:41 -05:00
Dana Robinson
a2b2148e73
Adds release timeline to README.md (#1584) 2022-04-05 17:26:00 -05:00
David Young
a0445d806c
Simplify function enter macros for performance benefits (#1024)
* Take a stab at using constructors to initialize instead of
function-entry macros.  This is a work in progress.  It's good enough to
run `many_dsets`.

* Committing clang-format changes

* Add the `many_dsets` benchmark and some scripts I used on jelly for
setting up the build/test environment and for recording/flame-graphing
profiles.

* Committing clang-format changes

* Change my Makefile and environment script to work both on jelly
and on mayll (and probably on Summit).

* Disable clang-format "fix."

* Replace the `if (!H5_TERM_GLOBAL)` test in each FUNC_ENTER_ macro with
`if (true)`.

* Fix bad grammar in a comment.

* Instead of labeling the H5*__init_package routines constructors, fold
each into an initialization routine, H5*_init(), and call each of
the H5*_init() routines.  Call most of the H5*_init() routines from
H5_init_library() in an explicit order that I found out earlier by
instrumenting each __init_package routine and running the library
tests.  Roll H5FD*__init_package routines into H5FD*_init() routines.
This change ends just-in-time initialization of package dependencies by
package initializers.

Don't track in per-package variables (H5_PKG_INIT_VAR) whether each
package has been initialized.  Instead, track in a single library
variable whether the whole library is initialized or not.

Drive the initialization of packages by H5_init_library() with a table
of initializer routines.  Also drive the termination of packages by
H5_term_library() with a table.

Perform initialization as needed from FUNC_ENTER_API_INIT(err).  This
basically restores the old behavior of that macro.

Delete a bunch of #definitions in H5private.h that have fallen out of
use with these changes.

* Committing clang-format changes

* Undo the bad auto-formatting that appears to have occurred in spite
of my disabling it.  Bracket some code in /* clang-format off */ /*
clang-format on */ to prevent a recurrence.

* Remove a diagnostic abort().

* Fix a logic error: print a comma between every package terminator run,
and don't print an initial comma.

* Complete the changes I started in H5_term_library() that undo the bad
auto-formatting.

Stop tracking whether package "tops" were initialized in per-package
variables H5*_top_package_initialize_s.  H5_term_library() takes care of
that for them.

Remove H5R_top_term_package() and H5R_term_package(), they don't do
anything.

* Committing clang-format changes

* NFCI.  Simplify macro text: replace `if (true) {` with `{`.

* Fix formatting and suppress clang-format on a longer range.

* Quiet some unused label, unused variable complaints that cropped up
after I simplified the FUNC_ENTER_ macros for the sake of performance.

* Committing clang-format changes

* Delete some programs and scripts that don't belong in the pull request.

* Use the right function-entry macro.

* Use a sensible format and disable auto-formatting.

* Stop calling do-nothing initializer H5FS_init().  Delete it.

* Document what changes to make if the default VFD changes.

* While I am here, change an `await_prior` flag on the terminator table
to `true` to match the previous, non-table-driven code that was here.
Found the oversight making the following changes:

NFCI: insert an empty line and copy over slightly-edited comments from
the previous version, where those comments still correctly explained how
library termination operated.

* NFCI: lower a staircase.

* Replace every occurrence of FUNC_ENTER_NOAPI_INIT(...) with H5_PUSH_FUNC
since that is all that that macro does any more.

Quiet a bunch of new warnings by changing FUNC_ENTER_NOAPI(...) to
FUNC_ENTER_NOAPI_NOERR and removing disused `done:` labels.

* NFCI: add curly braces around a multiline statement.

* Quiet a signed/unsigned comparison warning.

* Add some documentation about library initialization and shutdown.

* Make sure that the library is initialized, or else that initialization
is already underway, before performing any VFD's initialization.

* Committing clang-format changes

* Committing clang-format changes

* Reduce differences from `develop` branch.

* Always initialize `tot_init`.

* Committing clang-format changes

* Fix typo: H5SL_init initializes skip lists, not VOL.

* Remove H5_TERM_GLOBAL test in H5T_init.  H5T_init was unusual in that
it tested H5_TERM_GLOBAL and exited early if it was set.  No other
module initializers did that, and I cannot find any reason that should
be necessary.  Tests still pass when I remove it, so away it goes.

* Use HD prefix.

* Add function header comments.

* Drop the intermediate variable, it's only used once.

* Extract subroutine `H5FDperform_init(hid_t (*init)(void))` that
initializes the library, if necessary, before calling its VFD-initializer
argument.  Use H5FDperform_init in the definition of the symbols
H5FD_<vfd> (e.g., H5FD_SEC2), which may be evaluated before the library
is initialized, like so:

```
```

I implement H5FDperform_init in its own source file, H5FDperform.c,
and exclude that file from trace processing because the `bin/trace`
cannot deal with the function-pointer type.

* Straggler from last: add new source file src/H5FDperform.c.

* Committing clang-format changes

* Add a missing file to the MANIFEST.

* Switch to FUNC_ENTER_API_NOINIT in H5FDperform_init() and hbool_t in
H5_term_library().

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-11-08 15:08:07 -06:00
Gerd Heber
cf25524474
A batch of life-cycle examples for different modules (#654)
* Create a tag file for permalinks.

* Added DOXYGEN_TAG_FILE.

* Added Doxygen life-cycle examples for different modules.

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-01 16:09:27 -05:00
Scot Breitenfeld
98acb0adcf
small edits (#481)
* fixed missed closing of a dataset

* fixed missed closing of a dataset

* fixed typo in error return

* Committing clang-format changes

* minor edits

* code format

* Committing clang-format changes

* code format

* minor edit

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-03-22 13:31:42 -05:00
epourmal
49a14f9e02
Added description of the current HDF5 branches; added a draft of contribution policy. (#445)
* Added description of the current HDF5 branches.

* Removed capitalization in from Develop, Release, Feature to reflect the real naming schema

* Added a draft of contributions guidance document.

* Fixed typos.

* Fixed section title.

* Fixed typo.

* Fixed typos and formatting.

* Fixed many typos and simplified the text (e.g., removed testing instructions and left pointers to where to find them, etc.)

* Fixed a typo.
 Please enter the commit message for your changes. Lines starting

* Added contributing.md file and rearranged doc entries in alphabetical order.

* ddressed Gerd's review comments; found and fixed more typos.

* Addressed comments from Larry and Scot.
2021-03-19 08:13:32 -05:00
David Young
50aac126d7 Start to document the function/parameter/variable attribute macros. 2020-02-18 17:07:40 -06:00
Frank Baker
794ba0a251 [svn-r11084]
Description:
    All HDF5 user documentation has been moved to a separate hdf5doc/
        repository, managed under Subversion.
    With this 'cvs commit', all files are stripped from hdf5/doc/.
    THIS CHANGE IS APPLIED ONLY TO THE HDF5 DEVELOPMENT BRANCH,
    post Release 1.6.x; it is not applied to the release branches.
2005-07-19 12:28:56 -05:00
HDF Admin
5de418b2b4 [svn-r11081] Snapshot version 1.7 release 48 2005-07-18 16:20:23 -05:00
James Laird
43f091f462 [svn-r11008] Purpose:
Feature: tests now use parallel make and only run once

Description:
When make is invoked in parallel (using the -j option), several tests will
now be run simultaneously.  This should speed up testing on a number of
systems.
When a test passes, it creates a foo.chkexe or foo.chksh file, which prevents
the test from running again unless the test or library changes.

Solution:
Most of the changes live in config/conclude.am.  Added *.chkexe and *.chksh
files to the list of files to be cleaned at "make mostlyclean" time.
Parallel tests still run one at a time, but use the same make instructions
as serial tests.

Platforms tested:
mir, eirene, sleipnir, pommier, copper, modi4 (some errors occurred, probably
due to the test being run before updating hdf5.  Will re-run tests after
checkin.)
2005-06-30 18:35:32 -05:00
Frank Baker
e38365206a [svn-r10976]
Purpose:
    Added new meta data cache functions.
    Added links to HDF5 High-Level API reference pages to nav bar.
    Other minor (though somewhat pervasive) reformatting.
Platforms tested:
    Firefox
2005-06-23 16:30:36 -05:00
Frank Baker
63357e8acb [svn-r10975]
Purpose:
    Added links to HDF5 High-Level API reference pages to nav bar.
Platforms tested:
    Firefox
2005-06-23 16:03:41 -05:00
Frank Baker
614bbec1c7 [svn-r10974]
Purpose:
    Added new section for High-level HDF5 APIS.
    Added links to HDF5 High-Level API reference pages to nav bar.
    Added quick-links bar for
        High-level APIs
        Main HDF5 Library, including Low-level APIs
        Fortran and C++ Interfaces
    Added "Main HDF5 Library, including Low-level APIs" heading.
        There had previously been no comparable heading.
Platforms tested:
    Firefox
2005-06-23 15:44:53 -05:00
Frank Baker
386a19639f [svn-r10973]
Purpose:
    Added links to HDF5 High-Level API reference pages.
Platforms tested:
    Firefox
2005-06-23 15:34:02 -05:00
Raymond Lu
071be8ef3b [svn-r10971] Purpose: Bug fix
Description: See details from Bug #213.  Family member file size wasn't saved
anywhere in file.  When family file is opened, the first member size determine
the member size.

Solution:  Hopefully, this is the last step of checkin for this stage.  This step
mainly enables h5repart tool to be able to convert file driver from family to
sec2.  Because the library saves family information in file, in trying to convert
to sec2 driver, the library simply change the address of driver information to
undefined so that the driver information block can be ignored.  This step also
updates the reference manual of H5Pset_fapl_family() and h5repart.

In the fifth step of checkin, backward compatibility with v1.6
is tested.  A family file created was created with the v1.6 library and opened
with this version of the library.

In the fourth step of checkin, a test suit is added for h5repart,
including a program to generate the test files, a script file to run h5repart,
and a program to verify repartitioned files can be opened by the library.

There's a change from the first step of checkin.  Family name template is no
longer saved in the superblock because different pathname can make the name
different.

In the third step of checkin, h5repart has been modified.  If h5repart is used
to change the size of family member file, the new size(actual member size) is saved
in the superblock.

In the second step of checkin, multi driver is checked against the driver
name saved in superblock.  Wrong driver will result in a failure with an error message
indicating
multi driver should be used.  This change includes split driver because it's a special
case for multi
driver.

In the first step of checkin.  Family member size and name template(unused at this stage) are saved
in file superblock.  When file is reopened,the size passed in thrin superblock.  A different size
will trigger a failure with an error message indicating the right size.  Wrong driver to open family
file will cause a failure, too.


Platforms tested: h5committest and fuss.

Misc. update: doc/html/RM_H5P.html and doc/html/Tools.html
2005-06-22 13:59:48 -05:00
Frank Baker
d0145118bd [svn-r10878]
Purpose:
     Remove statement that gray-scale image attribute must
         be in the range of 0-255.
     Remove datatype definition for the attribute IMAGE_ASPECTRATIO.
     Fixes Bugzilla entry 347.
 Platforms tested:
     Firefox
2005-06-08 10:39:09 -05:00
James Laird
2423bd6cab [svn-r10840] Purpose:
Added check-s and check-p targets.

Description:
Added check-s and check-p targets to 1.7 branch to match changes to 1.6
branch.  Now parallel and serial tests can be run separately.

Platforms tested:
mir, modi4, copper
2005-06-01 20:51:52 -05:00
James Laird
45a6e2c0c8 [svn-r10798] Purpose:
Added documentation

Description:
Added "Automake Use Cases" document to Tech Notes.
This is intended as a reference or an introductory document; more
in-depth documentation is in progress.

Platforms tested:
Change only to documentation.  Documentation is viewable on Windows.
2005-05-25 14:29:13 -05:00
Frank Baker
edecc60b50 [svn-r10784]
Purpose:
    Complete H5Error API changes -- Changed and deprecated functions.
Description:
    Added H5Eclear_stack, H5Eprint_stack, H5Epush_stack, H5Eget_auto_stack,
        H5Eset_auto_stack, H5Ewalk_stack.
    Added "deprecated function" notes to H5Eclear, H5Eprint, H5Epush,
        H5Eget_auto, H5Eset_auto, H5Ewalk, H5Eget_major, H5Eget_minor.
Platforms tested:
    Firefox
2005-05-23 11:21:28 -05:00
Raymond Lu
0675cc67f9 [svn-r10760] Purpose: Minor Modification
Description: changed return type of H5Eget_num from SIZE_T to SSIZE_T to include
negative return value for failure.


Platforms tested: Not needed
2005-05-19 11:12:39 -05:00
Frank Baker
2399650d64 [svn-r10752] Purpose:
Added new H5Error APIs.
Description:
    Added C entries for
	H5Eregister_class         H5Eunregister_class
	H5Eget_class_name         H5auto_is_stack
	H5Ecreate_msg             H5Eget_msg
	H5Eclose_msg
	H5Eget_num                H5Epop
	H5Eget_current_stack      H5Eclose_stack
    Still missing -- 6 APIs that match existing APIs except that they
    include a 'stack' parameter.  Those APIs will be added shortly.
Platforms tested:
    Firefox
2005-05-18 17:16:08 -05:00
Frank Baker
ec6e34dc30 [svn-r10751] Purpose:
Minor reformatting adn edits.
    Added links to C++ RM and Parallel HDF5 sites.
    Restructured document lists with the intent of easing discovery.
Description:
Platforms tested:
    Firefox
2005-05-17 17:26:27 -05:00