Compare commits

...

2355 Commits

Author SHA1 Message Date
Albert Cheng
bee2bb49b8 [svn-r23030] Tag as the v1.8.10 release. 2012-11-14 10:23:33 -05:00
Albert Cheng
545c05fee3 [svn-r22980] Release v1.8.10 tarball created. 2012-10-26 19:46:24 -05:00
Albert Cheng
28f8d9231f [svn-r22979] Set the version information to 1.8.10 for release. 2012-10-26 19:14:40 -05:00
Albert Cheng
4088f72f29 [svn-r22978] Updated the Fortran 2003 support status for all platforms. 2012-10-26 19:11:34 -05:00
Jonathan Kim
ec44b28d9e [svn-r22974] Update jam and koala sections for release 1.8.10. Update mpich version. Remove invalid extra info from configure tables and clean ups. 2012-10-26 12:07:56 -05:00
Dana Robinson
1248b6a632 [svn-r22973] Purpose:
Update RELEASE.txt

Testing:
	N/A
2012-10-26 11:33:51 -05:00
Albert Cheng
b01c140736 [svn-r22972] Removed MINGW problem. Allen said it is not a problem any more. 2012-10-26 11:29:35 -05:00
Albert Cheng
9afd83c1cb [svn-r22971] Updates:
The file_image test problem is fixed.

The following known issues are removed since the machines or compilers
involved are not tested any more because of various reasons such as
compiler versions are too old, machines have retired, etc.

PathScale MPI implementation
Red Storm, a Cray XT3 system
mpich old versions
IBM older systems
2012-10-26 06:12:19 -05:00
Albert Cheng
99d8998eb3 [svn-r22970] updated compiler information for Snow leopard (Fred and Tejeda). 2012-10-26 03:57:21 -05:00
Mark Evans
3ec97c62cb [svn-r22969] Fixed a typo. No testing necessary. 2012-10-25 17:09:50 -05:00
Albert Cheng
295fc6270e [svn-r22968] Updated with new uDawn failure in h5stat test script. 2012-10-25 14:42:11 -05:00
Mike McGreevy
231456fb5f [svn-r22963] Remove ember and forge from RELEASE.txt - they are retired. 2012-10-25 07:54:19 -05:00
Albert Cheng
14fe0317db [svn-r22961] After discussing with Elena, we agreed there should be a distinction
between supported platforms (aka contract obligation) and Tested platforms
which are machines not paid for but we think it benefits us for doing
testing on them.

So, I divided up the previous "Platforms Tested" list into
"Supported Platforms" and "More Tested Platforms".
The feature summary shows only supported platforms.


Let me know if I have made any mistakes.
2012-10-24 17:18:04 -05:00
Albert Cheng
6ed9173ecd [svn-r22960] Updated with the fix of dt_arith failure in Lion and Mountain Lion systems. 2012-10-24 11:06:29 -05:00
Jonathan Kim
ed01385375 [svn-r22957] Update for jam and koala sections. Also removed a couple of entries from known issues section. 2012-10-23 16:15:01 -05:00
Albert Cheng
10366ba116 [svn-r22954] Update the compiler information of Mac Lion and Mountain Lion
systems.
2012-10-23 13:40:27 -05:00
Raymond Lu
e04b9b47d9 [svn-r22947] I updated the information that the dt_arith test reports several errors involving "long double" on
Mac OS X 10.7 Lion when any level of optimization is enabled.
2012-10-22 17:02:05 -05:00
Allen Byrne
f8172fa692 [svn-r22940] Updated linux VM build system used 2012-10-22 10:22:45 -05:00
Dana Robinson
a5630d1093 [svn-r22938] Purpose:
Reorganize old Windows documents.

Tested on:
	N/A (docs only), ran bin/chkmanifest
2012-10-21 22:16:03 -05:00
Quincey Koziol
74af9ca093 [svn-r22930] Description:
Update FreeBSD info.
2012-10-19 14:49:30 -05:00
Larry Knox
b53552a536 [svn-r22925] Revert change to h5fc.in (3 line comment + 1 line ineffective code) that was inadvertently merged from trunk before it was reverted there.
Tested with h5committest, make install and make installcheck on jam koala and ostrich.
2012-10-18 16:51:30 -05:00
Albert Cheng
f1ec0ee395 [svn-r22923] Updated LLNL aztec information.
Tested: just eyeballed.
2012-10-18 16:37:42 -05:00
Albert Cheng
2df9918c57 [svn-r22920] Changed the version number to match the release version (1.8.10).
Tested: LLNL release testing in Aztec (linux 64 machine).
2012-10-18 14:42:20 -05:00
Albert Cheng
f527bb1863 [svn-r22917] Increment the version number to 1.8.10-pre2 after v1.8.10-pre1 tarball is created and released.
Prepared for second round if needed.

Tested: should work. Will post-commit test it.
2012-10-17 17:19:35 -05:00
Mohamad Chaarawi
42fa89b60d [svn-r22913] update build environment for Hopper
Mark tests as passed
2012-10-17 12:05:37 -05:00
Mark Evans
2ace2845e5 [svn-r22912] Edited for readability.
No testing required.
2012-10-17 11:05:42 -05:00
Mark Evans
f2e1c3354d [svn-r22911] Edited for readability.
No testing required.
2012-10-17 09:43:13 -05:00
Raymond Lu
159f6633a4 [svn-r22909] Update compiler information for ostrich.
No test is needed.
2012-10-16 16:47:33 -05:00
Raymond Lu
93f524713c [svn-r22907] Update the GNU Fortran compiler for fred.
No test is needed.
2012-10-16 16:33:07 -05:00
Albert Cheng
5ffb018405 [svn-r22893] Prepare for v1.8.10 release.
Update version to 1.8.10-pre1
Change default configure mode from 'development' to 'production'

Tested on jam.
2012-10-12 14:10:55 -05:00
Albert Cheng
beb4ef159d [svn-r22890] Copy finished RELEASE.txt from the 1.8.8 branch
to 1.8's HISTORY-1_8.txt file.
2012-10-12 03:42:58 -05:00
Scot Breitenfeld
5c9749559f [svn-r22888] Added bug fixes and enhancements since the last release. 2012-10-11 23:03:46 -05:00
Albert Cheng
db7314fa76 [svn-r22883] Added Mountain Lion (owl) test information. 2012-10-11 00:37:27 -05:00
Albert Cheng
9ea64eb0b8 [svn-r22880] Bug Fix: HDFFV 8017
dt_arith would fail in Lion and Mountain Lion system when GCC version 4.2.1
is used with --enable-production. Somehow the -O optimization will fail some of
the hard conversion code.

Solution:
This is just a temporary patch by detecting if this is a Lion or Mountain Lion
system using GCC 4.2.1, then just remove the any -O option from the PROD_CFLAGS.
A better fix should be deviced later.

Tested: Duck(lion) and Owl (mountain lion) tested with --enable-production.
Also tested in Fred and Tejeda, both Snow Leopard systems to verify there is
no undesired side effect.
2012-10-10 00:08:59 -05:00
Quincey Koziol
f6d4f0ef8f [svn-r22875] Description:
Add note about return value change for H5TBget_fill.
2012-10-09 09:36:20 -05:00
Allen Byrne
49461f1035 [svn-r22873] Update test testh5copy.bat file with changes made to linux test script.
Update testh5dump.bat file with corrections to which TOOLTEST version used and adjust for windows specific conditions

Tested: windows
2012-10-08 15:01:35 -05:00
Allen Byrne
bef3d625fd [svn-r22869] Add PROVISIONAL tag to function name to match non-parallel version. 2012-10-08 09:01:22 -05:00
Allen Byrne
0567e64856 [svn-r22867] Updated cygwin note on dt_arith about the known issue of fork on cygwin.
Added note about using optimization level 1 on Ubuntu64
2012-10-05 14:02:22 -05:00
Allen Byrne
0d3b1f94df [svn-r22864] Move h5import change to new feature section. 2012-10-04 14:18:02 -05:00
Allen Byrne
4b2c55da4b [svn-r22862] Updated CYGWIN, MinGW and linux VM versions 2012-10-04 13:33:41 -05:00
Allen Byrne
3519e86db5 [svn-r22858] Change def list of RGET_REGION to match other types declarations 2012-10-03 14:21:53 -05:00
Albert Cheng
f7391600c1 [svn-r22851] updated with perform/benchpar program removal. 2012-10-01 19:06:15 -05:00
Albert Cheng
fe63b32f86 [svn-r22850] Bug fix: HDFFV-8156
benchpar.c is compiled when configure --enable-build-all --enable-paralllel.
But it failed to compile.  It is decided to retire or move it to example.
I removed it from the PARA_BUILD_ALL list so that --enable-build-all will
not fail.  The program file still need to be moved.

Tested: Koala using --enable-build-all --enable-parallel.
2012-10-01 19:05:33 -05:00
HDF Tester
217d5c32d6 [svn-r22847] Snapshot version 1.8 release 10 (snap13) 2012-09-30 19:30:14 -05:00
Scot Breitenfeld
30700f5285 [svn-r22844] Merged changes from the trunk into the branch.
Tested: jam (gnu, mpich)
2012-09-28 15:53:49 -05:00
Scot Breitenfeld
c783decba5 [svn-r22840] Merged changes from the trunk into the branch,
svn merge -r22479:22826 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

tested: jam (gnu, intel, pgi)
        koala (gnu, pgi)
2012-09-28 10:31:22 -05:00
Albert Cheng
2de91133e0 [svn-r22835] Documented HDFFV-8069 fix. 2012-09-27 17:22:22 -05:00
Albert Cheng
4148444e60 [svn-r22831] Bug fix: HDFFV-8069 AIX config file Fortran flags need fix
Description: The Fortran compiler flags were all set to "-O". They should be
different setting for different situations. E.g, "-g" for debug and
"-pg" for profile, etc.

Fix: set them to appropriate different values.

Tested: in Remote ADA AIX machines using 3 different settings:
    configure --enable-fortran --enable-cxx     # default to --disable-production
    configure --enable-fortran --enable-cxx --enable-production
    configure --enable-fortran --enable-cxx --disable-production
2012-09-27 16:08:30 -05:00
Raymond Lu
31e931ce26 [svn-r22821] Issue 8164 - test_image.c printed an extra "FAILED" after it succeeded. A test function doesn't return 0 after it succeeds.
It goes down to the error handling branch and prints "FAILED".  The fix is adding "return 0;" in the end of the function.  

Tested on jam - simple change.
2012-09-27 10:19:29 -05:00
Jonathan Kim
06e9ab4420 [svn-r22814] Purpose:
HDFFV-8012 - h5repack changes max dims and cause failure if only "-f none" is used without changing layout for chunked dataset when a chunk dim is bigger than a dataset dim

Description:
  "h5repack -f <obj>:NONE <file.h5> out.h5" command failed if source file contains chunked dataset and a chunk dim is bigger than a dataset dim. 
    Another issue is that the command changed max dims if chunk dim is smaller than the dataset dim. 
    These issue occurred when dataset size is smaller than 64k (compact size limit)
    Fixed them.
  Merged from HDF5 trunk r22805

Tested: 
    jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), cmake (jam)
2012-09-26 13:10:01 -05:00
Dana Robinson
87271a753d [svn-r22804] Updated RELEASE.txt to include HDFFV-8058 work. 2012-09-24 11:15:42 -05:00
HDF Tester
bf3a445ff7 [svn-r22803] Snapshot version 1.8 release 10 (snap12) 2012-09-23 19:27:42 -05:00
Albert Cheng
c0787b5614 [svn-r22801] Updated for the removal of mpi-perf.c.
Copied from the trunk version.

Tested: Don't know how to test. assume if it works for trunk, it will
work for v18.
2012-09-22 15:09:37 -05:00
Albert Cheng
e68e506511 [svn-r22800] Documented the retiremen of mpi-perf. 2012-09-22 14:44:25 -05:00
Albert Cheng
f3c3aa2440 [svn-r22796] HDFFV-8110: Removed mpi-perf.c which was given with permission to freely
distribute by the author. It was an example program showing how to measure
parallel IO speed. Since then, we have created h5perf to do I/O performanace
measurement. This example is not needed any more.

mpi-perf.c:
    Removed.
Makefile.am:
Makefile.in:
    Removed the entry of mpi-perf.c so that "configure --enable-build-all ..."
    will not build it.
MANIFEST:
    Updated.

The change is trivial that I got permission to skip the code review step.

Tested: h5committest plus "--enable-parallel --enable-build-all" in koala.
2012-09-21 17:05:56 -05:00
Allen Byrne
3117ffcbb4 [svn-r22788] HDFFV-8153: Pull POSIX_C_SOURCE define out to separate variable. Use ADD_DEFINITIONS (${HDF5_EXTRA_C_FLAGS}) in non-fortran CMakeLists.txt folders
Tested: local
2012-09-19 09:32:13 -05:00
Jonathan Kim
c3db70aff4 [svn-r22783] Purpose:
HDFFV-8143 Provide a routine(s) for telling the user why the library broke collective data access

Description:
    Changed to use H5Dopen2() instead of H5Dopen(), which caught by daily test on jam.
    This is based on previous commit r22780.

Tested: 
    jam-pp (linux32-LE)
2012-09-18 09:43:57 -05:00
Dana Robinson
7be1d4edaf [svn-r22781] Propagated r22703 and 22748 from the trunk. Fixes HDFFV-8058.
Tested on:
    jam and ostrich w/ parallel and fortran enabled
2012-09-17 17:56:39 -05:00
Jonathan Kim
5188e7a617 [svn-r22780] Purpose:
HDFFV-8143 Provide a routine(s) for telling the user why the library broke collective data access

Description:
    Added H5Pget_mpio_no_collective_cause() function that retrive reasons why the collective I/O was broken during Read/Write IO access.
    Reasons to break collective I/O:
     - SET_INDEPENDENT
     - DATATYPE_CONVERSION
     - DATA_TRANSFORMS
     - MPIPOSIX
     - NOT_SIMPLE_OR_SCALAR_DATASPACES  (NULL Space)
     - POINT_SELECTIONS
     - NOT_CONTIGUOUS_OR_CHUNKED_DATASET  (Compact or External-Storage)
     - FILTERS  

    Merged from HDF5 trunk r22735, r22741 , 22743, 22744, 22763.

Tested: 
    jam-pp (linux32-LE), koala-pp (linux64-LE), wallaby-pp
2012-09-17 14:14:56 -05:00
Allen Byrne
b22ef5f8a7 [svn-r22776] HDFFV-8129: upgrade autotools
Merge Trunk changes to 1.8
Tested: h5committest
2012-09-17 12:07:23 -05:00
Mike McGreevy
a2500fa7c3 [svn-r22775] Purpose:
Update RELEASE.txt

Description:

    Merge changes from 1.8.9's known issues and platforms tested
    section of the RELEASE.txt up to the 1.8 branch in preparation
    for the 1.8.10 release.
2012-09-17 11:29:13 -05:00
Quincey Koziol
0b9e707859 [svn-r22768] Description:
Bring r22765 from trunk to 1.8 branch:

    Propogate Coverity changes to trunk, also fix compiler warnings and
other minor code cleanups. (QK & JK)

r20393: (Not directly propogated, since trunk also had a similar fix)
Move initialization ocrt_info.new_obj = NULL; before FUNC_ENTER_NOAPI -- gh

r20397:
Added free(src_sizes) --gh

r20398:
Added free(src_offset). --gh

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug, parallel, FORTRAN & C++
    (h5committest forthcoming)
2012-09-16 19:49:16 -05:00
HDF Tester
fb83bb8470 [svn-r22767] Snapshot version 1.8 release 10 (snap11) 2012-09-16 19:27:21 -05:00
Quincey Koziol
fc65a4e66e [svn-r22759] Description:
Bring r22758 from trunk to 1.8 branch:

    Bring generic improvements from encode/decode property list branch to
the trunk.  This includes a better version of the property list comparison
routine, cleaned up compiler warnings, and some cleaned up property list
callbacks.  Also, started on changes to clean up parallel test output, so that
it doesn't report successful tests from each process.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug, GCC 4.7.x, FORTRAN, C++, threadsafe and parallel
    (h5committested on trunk)
2012-09-13 12:44:44 -05:00
Raymond Lu
d36cd7cba5 [svn-r22757] Issue 8140 - return value is missing for H5LTyyerror in H5LTanalyze.l. I merged the fix from the trunk.
I put "return 0" in because the program should continue even though there is an error.

Tested on jam - simple change.
2012-09-13 10:42:45 -05:00
Raymond Lu
cf485eb7cc [svn-r22756] When Scot Breitenfeld committed his test function test_valid_path in r22206 6 months ago, he replaced test_text_type
function with his function, thus skipped test_text_type test.  I'm restoring it back in this checkin.

Tested on jam - simple change.
2012-09-12 11:55:16 -05:00
Jonathan Kim
0c21f00cf8 [svn-r22753] Purpose:
HDFFV-5919 -  GMQS: h5diff - The number of object difference is not consistent between dataset and group/type when attribute(s) have differences

Description:
  Object differences are not consistent between dataset and group/datatype when their attribute(s) have differences. This is because attribute(s) differences is not accumulated to group or datatype object’s difference, but accumulated to dataset difference.
  To fix, do not accumulate attribute difference to dataset difference.  This is referred to h5diff’s default behavior and also past report from users that users were confused by the accumulated behavior. (also can’t figure out only for dataset difference , also hard to spot dataset difference when it has lots of attributes or differences)
  This also lead to fix inconsistent format indicating difference between dataset and group/datatype object.
  Merged from HDF5 trunk r22751. 

Tested: 
    jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), cmake (jam)
2012-09-11 18:19:53 -05:00
HDF Tester
6810576bf2 [svn-r22747] Snapshot version 1.8 release 10 (snap10) 2012-09-09 19:35:24 -05:00
Allen Byrne
1993bdfb95 [svn-r22740] Correct typo on test command 2012-09-05 14:04:00 -05:00
HDF Tester
d76a3faf25 [svn-r22733] Snapshot version 1.8 release 10 (snap9) 2012-09-02 19:29:00 -05:00
Allen Byrne
e8a1954c9e [svn-r22727] Add other h5 files needed by pbits tests 2012-08-30 09:50:06 -05:00
Allen Byrne
612af6440b [svn-r22724] Convert tests to *.sh.in.
Convert configure.in to configure.ac.
Align TESTS usage with autotools convention.
Update all references from configure.in to configure.ac

Tested: h5committest
2012-08-28 14:11:34 -05:00
Allen Byrne
0bc6398ec4 [svn-r22721] HDFFV-8133: Add usage text to see Reference manual for compact subsetting. 2012-08-28 12:42:00 -05:00
Allen Byrne
5336fb2d01 [svn-r22719] Fix RelWithDebInfo packaging
Tested: windows
2012-08-28 12:38:44 -05:00
Allen Byrne
8b271f6ca5 [svn-r22717] Update list of tools fixes. 2012-08-27 11:15:45 -05:00
HDF Tester
189abd52ac [svn-r22715] Snapshot version 1.8 release 10 (snap8) 2012-08-26 19:32:58 -05:00
Larry Knox
073ba00980 [svn-r22711] Updated autotools: autoconf 2.69, automake 1.12.3, m4 1.4.16, libtool 2.4.2
Tested THG machines.
2012-08-23 12:05:07 -05:00
Quincey Koziol
88a382c1c7 [svn-r22708] Description:
Bring r22707 from trunk to 1.8 branch:

    Bring back some more cleanups from the plist_encode_decode branch, clean up
some formatting and compiler errors, and add a few more property comparison
routines that we've skipped implementing in the past.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug
    (Too minor to require h5committest)
2012-08-22 14:39:01 -05:00
Jonathan Kim
dc7748afb9 [svn-r22701] Purpose:
Address HDFFV-7942 - h5diff: incorrect result for comparing attribute data with different type size in same class

Description:
   When comparing attribute data values with same type class but different size, the result was incorrect.  It was due to the size difference and got truncated. 
   Fixed to match up the smaller type size to big type size like what dataset does.
   Merged from HDF5 trunk r22684 and r22691.

  
Tested: 
 jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), Windows (32-LE cmake), cmake (jam)
2012-08-20 15:11:58 -05:00
Allen Byrne
b169fa28ff [svn-r22699] Merge trunk 22674 to 1.8:
Remove checks for filters are available because the h5dump tests never used the filters in the tests. "-H" option excludes data.
HDFFV-8125
2012-08-20 11:47:39 -05:00
Quincey Koziol
bdb3343f30 [svn-r22682] Description:
Bring r22681 from trunk to 1.8 branch:

    Clean up file driver property handling, along with some misc. warnings.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug, gcc 4.7.1, C++, FORTRAN & threadsafe
    (h5committest upcoming)
2012-08-15 10:25:42 -05:00
Vailin Choi
2ab1d8cc0c [svn-r22677] Changes needed to make the default free-list mapping from H5FD_FLMAP_SINGLE to H5FD_FLMAP_DICHOTOMY.
Also changed H5O_copy_search_comm_dt_check() to use H5O_obj_class() to get object type instead of H5O_get_info(...TRUE...) saving time in traversing metadata.
2012-08-13 19:33:19 -05:00
HDF Tester
20d05ae593 [svn-r22671] Snapshot version 1.8 release 10 (snap7) 2012-08-12 19:30:24 -05:00
Albert Cheng
6acaf24bdd [svn-r22658] Bug fix: previous commit has a mistake--it used the wrong type of return
value of FAIL. The function type is a pointer. Fixed it by changing it to NULL.

Tested: In remote machine ADA (aix).
2012-08-09 18:58:37 -05:00
Mohamad Chaarawi
4e22de6e90 [svn-r22652] bring 22651 to branch
fix a bug that would skip or include the parallel atomicity test with cmd arguments -o or -x
2012-08-09 13:10:47 -05:00
Allen Byrne
e7561408fb [svn-r22649] Allow second find_package call for legacy libraries (not cmake-configured) 2012-08-09 09:39:12 -05:00
Quincey Koziol
4e6b652c3d [svn-r22647] Description:
Bring r22646 from trunk to 1.8 branch:

    Changes resulting from Klocwork static analysis tool, from Mark Miller
@ LLNL (miller86@llnl.gov).

Tested on:
    Mac OS X/64 10.7.4 (amazon) w/debug, C++ & FORTRAN, using gcc 4.7.x
    (too minor to require h5committest)
2012-08-08 20:02:02 -05:00
Allen Byrne
98ac51ba1c [svn-r22643] Correct check for filters in tools test 2012-08-08 12:04:40 -05:00
Allen Byrne
28504a15f6 [svn-r22639] HDFFV-8111: Remove special case shortcut and use normal path for comparing single objects.
Merged from trunk
2012-08-07 14:11:21 -05:00
Allen Byrne
65b620ea49 [svn-r22634] Update CMake configuration files for current packaging layout 2012-08-06 11:40:49 -05:00
Allen Byrne
c2491932d9 [svn-r22632] Merge from trunk revision 22631
tested: local linux
2012-08-06 09:18:55 -05:00
Larry Knox
451fd8514b [svn-r22630] Snapshot version 1.8 release 10 (snap6) 2012-08-05 19:52:07 -05:00
Quincey Koziol
53ac57325c [svn-r22628] Description:
Bring r22627 from trunk to 1.8 branch:

    Merge some of the changes on the plist_encode_decode branch back to the
trunk.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug
    (Too minor to require h5committest)
2012-08-03 19:17:30 -05:00
Jonathan Kim
e8197d1941 [svn-r22621] Purpose:
HDFFV-8107 testh5diff will fail if build/test in HDF5 source tree

Description:
  This is sub-task for "HDFFV-8105 testh5diff.sh uses the wrong operator (-a) in an if statement."
  From the HDFFV-8105's update, h5diff test failed if build&test is performed in HDF5 source tree because 'cp' try to copy test files to self dir. 
  It's addressed by skipping if cp's src dir and dest dir is same.
  Also this applied for all other tools under src/tools dir.
  No change to the CMakeLists.txt files because CMake cautions/demands that in-source builds be avoided.
  Merged from HDF5 trunk r22617.

  
Tested: 
 jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), some manual tests as well
2012-08-02 14:32:38 -05:00
Jonathan Kim
62455bb025 [svn-r22619]
Purpose:
  HDFFV-8003 - ph5diff (parallel h5diff): daily test failure on ember intermittently during non comparable test file comparison
  HDFFV-7755 - parallel h5diff : hanging on koala intermittently during non comparable test file comparison

Description:
  non-comparable test intermittently hung on koala and ember, but not on jam. it didn't occur until -np reaches 4 or bigger. it occurred once out of many repeated attempts of the same test.
  There was a incorrectly (mistakenly?) duplicated code in MPI section which caused such hang in a certain condition. The test used more processes than other tests, which increased chance to trigger more undone processes, and such process could enter the incorrect code section and wait for wrong pair of send. it explains why it occurred intermittently according to machine condition and using a certain feature. 
  Removed incorrect code which blocked correct code.
  Merged from HDF5 trunk r22618.
  
Tested:
 jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), some manually repeated test performed in parallel
2012-08-02 11:10:03 -05:00
Quincey Koziol
0728b38ddd [svn-r22609] Description:
Bring r22608 from trunk to 1.8 branch:

    Switch propert list/class iteration from internal to external form of
iteration, cleaning up and simplifying the code a bit.

    Bring other general improvements from plist_encode_decode branch back to
trunk.

    Clean up many warnings.


Tested on:
    Mac OSX/64 10.7.4 (amazon) w/gcc 4.7, debug and C++ & FORTRAN
    (too minor to require h5committest)
2012-07-26 15:03:12 -05:00
Neil Fortner
0ea9a38644 [svn-r22607] Port test from r22601 from trunk to 1.8 branch. Also remove spurious
FUNC_ENTER_PACKAGE_TAG and FUNC_ENTER_STATIC_TAG macros.

Tested: jam, koala, ostrich (h5committest), durandal
2012-07-26 13:12:00 -05:00
Albert Cheng
85d0f3befd [svn-r22595] Bug fix: HDFFV-8105
Description:
The test command in COPY_TESTFILES_TO_TESTDIR used the wrong operator -a which
means and. It is not sufficient to test mere existence as $tstfile could have
been a directory or other non-file things.  If the file is not readable, the
$CP command would fail but its return code was not checked.

Solution:
Get rid of the test command and go ahead to $CP it and then check its returned
code and report errors if detected.

Tested; committested.
2012-07-22 15:52:34 -05:00
Raymond Lu
dfebc04ff6 [svn-r22585] Issue 8068 - A user reported some random data in the padding of fill value. The problem happened in H5P_get_fill_value. I believe it's because the background buffer wasn't big enough. So I corrected it in this checkin.
Tested on jam - simple change.  I'm porting the fix from the trunk.
2012-07-17 11:05:16 -05:00
Quincey Koziol
43995f12ac [svn-r22583] Description:
Bring r22582 from trunk to 1.8 branch:

    Refactor ID class registration to be more like how other "class"s in the
library are registered, and clean up compiler warnings.

Tested on:
    Mac OSX/64 10.7.4 (amazon) w/debug
    (Too minor to require h5comittest)
2012-07-16 15:28:44 -05:00
Allen Byrne
0f43d84b3c [svn-r22580] HDFFV-7936: update legacy tests 2012-07-16 10:55:58 -05:00
Allen Byrne
e89ecb8b21 [svn-r22578] Windows compilers require declarations at top of routine. 2012-07-16 10:08:25 -05:00
Allen Byrne
8d05b733b9 [svn-r22572] Re-Merge attr name with slash changes from trunk
Tested: localinux with cmake
2012-07-13 11:31:52 -05:00
Allen Byrne
d9ba5c234c [svn-r22571] HDFFV-7784,-8095,7936 merge from trunk
Tested: local linux with cmake
2012-07-13 10:18:27 -05:00
Allen Byrne
5096b7d3ec [svn-r22551] Merge changes from Trunk revision 22550 for:
HDFFV-4206, -7953, -5930, -2687, -5942

Tested: local linux with cmake
2012-07-11 10:15:21 -05:00
Allen Byrne
91de89d57e [svn-r22538] Correct error string contents 2012-07-10 09:24:24 -05:00
Allen Byrne
9cd0f549ab [svn-r22536] added missing break to end of case statement 2012-07-10 08:58:50 -05:00
Larry Knox
f49fe94a09 [svn-r22524] Snapshot version 1.8 release 10 (snap6) 2012-07-09 11:52:38 -05:00
Allen Byrne
434466e58e [svn-r22517] HDFFV-7782: h5import testfiles duplicated to match testname. (Consistent naming)
Tested: local linux using CMake
2012-07-05 15:06:56 -05:00
Allen Byrne
029ac0e3c8 [svn-r22514] Correct failure REGEX test to test value of TEST_EXPECT 2012-07-05 09:36:53 -05:00
Scot Breitenfeld
11861e6618 [svn-r22509] Merged changes from the trunk into the branch:
svn merge -r 22163:22479 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Fixed merged issue with fortran/test/tH5E_F03.f90 (missing part of the file) and
changed Makefile.am accordingly.
2012-07-02 20:12:37 -05:00
Elena Pourmal
d05e1c8ca1 [svn-r22503] Maintenance:
See HELPDESK-643 issue in JIRA.
NAG Fortran compiler doesn't like the current tH5E_F03.f90 file that has only comments
and no executable statements. Removed tH5E_F03.f90 from the list of modules to build.

Tested on jam with PGI compiler using --enable-fortran2003 flag. Will point the user to a 
snapshot when it is available.
2012-06-29 15:39:37 -05:00
Raymond Lu
52de056071 [svn-r22493] I took out the "return an error" line in H5Dget_offset, to match what the RM says about the function behavior.
Quincey added it some time ago without realizing it caused test errors (Issue 8072).

Tested on ostrich, but imported the fix from the trunk - simple change.
2012-06-26 17:17:40 -05:00
Larry Knox
97da6adcd0 [svn-r22492] Needed std:: for cout or cerr for other compilers. 2012-06-26 15:56:59 -05:00
Larry Knox
35936e66b7 [svn-r22491] Skip the failing File Creation I/O subtest that causes c++ tests to fail with the new/PGI compiler (see HDFFV-8067).
Tested on jam.
2012-06-26 13:28:45 -05:00
HDF Tester
11ddad75fb [svn-r22488] Snapshot version 1.8 release 10 (snap4) 2012-06-24 19:22:53 -05:00
Quincey Koziol
2725ab3daf [svn-r22485] Description:
Merge r22484 from trunk to 1.8 branch:

    Copy the file image test file from the source directory to the build
directory, instead of trying to open the [in-memory] file R/W.

    Also, clean up a few other test files that were left lying around from
other tests.

Tested on:
    MacOSX/64 10.7.4 (amazon) w/debug
    Too minor to require h5committest
2012-06-23 18:40:53 -05:00
Elena Pourmal
f59572a17e [svn-r22483] Maintenance:
- Fixed a typo in return value of the nh5dread_f_c function ( was 1
      instead of 0 on success); fixed the return value to make it consistent
      with other Fortran functions; cleaned the code from debug statements.

Platforms tested: jam with GNU and Intel compilers, fortran 2003 feature.
2012-06-23 18:31:43 -05:00
Allen Byrne
635916cec0 [svn-r22477] Removed subfolder tools from install command, need to correct install template 2012-06-20 09:38:23 -05:00
Allen Byrne
8336239197 [svn-r22476] Change CPACK_PACKAGE_VENDOR to HDF_Group with underscore. 2012-06-20 09:20:46 -05:00
Allen Byrne
17f1e60d93 [svn-r22475] Remove subfolder tools from install command 2012-06-19 11:41:48 -05:00
Allen Byrne
25a711fdce [svn-r22474] Add check for MINGW - ws2_32 library
Tested: windows - mingw
2012-06-19 08:45:12 -05:00
Allen Byrne
b52c3aea3b [svn-r22470] Allow MinGW checks for fseek and the like
Tested: windows 32 mingw
2012-06-18 13:01:57 -05:00
Allen Byrne
ca76cbbd5b [svn-r22469] MinGW Flags need to use dash
set WINSOCK2_H
      do not test for endianess
      
Tested: windows 32 minGW
2012-06-18 12:29:44 -05:00
Allen Byrne
dd408f47f6 [svn-r22464] Correct name used for POSIX flag 2012-06-15 08:26:33 -05:00
Allen Byrne
b0e5e9208f [svn-r22462] ADD fortran warning to ignore list 2012-06-14 08:31:17 -05:00
Raymond Lu
ba30e9248f [svn-r22459] I added an item in the known problem section for the data conversion problem on Mac Lion. 2012-06-12 15:58:56 -05:00
Allen Byrne
751f22f99a [svn-r22454] Add NOT WINDOWS blocking around VSNPRINTF works check. 2012-06-12 08:54:27 -05:00
Allen Byrne
62ce2569cf [svn-r22453] Add missing property for resultcode of 1 to MEMCHECKER tests 2012-06-12 08:50:47 -05:00
Allen Byrne
d857219181 [svn-r22451] Brought cmake configuration / configure changes from Trunk.
Tested jam, local linux
2012-06-11 11:12:49 -05:00
HDF Tester
ba0ea5dc9c [svn-r22449] Snapshot version 1.8 release 10 (snap3) 2012-06-10 18:40:40 -05:00
Allen Byrne
e5c0e3d57f [svn-r22443] Add new test to CMake file
Tested: local linux
2012-06-07 09:41:43 -05:00
Quincey Koziol
ce4f31c0a9 [svn-r22442] Description:
Add new file to MANIFEST
2012-06-06 17:19:23 -05:00
Vailin Choi
c2059c656a [svn-r22440] This is part of the previous checkin--#22438.
A new ddl to be added.
2012-06-06 16:51:49 -05:00
Vailin Choi
596d5b2662 [svn-r22438] (1) fix for making MEM_GHEAP as MEM_DRAW
(2) fix to extend into the aggregator based on threshold 
(3) fix for the "flavor" logging problem
(4) fix for test failures due to the above fixes
(5) bug fix for h5stat when h5stat against a non-existing file

--Ths line, and th se below, will be ignored--

M    test/mf.c
M    src/H5MFaggr.c
M    src/H5FDpublic.h
M    src/H5MF.c
M    src/H5FDmulti.c
M    src/H5FDlog.c
M    src/H5Faccum.c
M    tools/h5copy/testfiles/h5copytst.out.ls
M    tools/h5copy/testfiles/h5copy_ref.out.ls
M    tools/h5stat/testh5stat.sh.in
M    tools/h5stat/h5stat.c
2012-06-06 16:12:34 -05:00
Quincey Koziol
71ca559f81 [svn-r22434] Description:
Correct misspelled debugging #ifdef and remove unused variable.

Tested on:
    Mac OS X/64 10.7.4 (amazon) w/serial
    (too minor to require h5committest)
2012-06-04 15:20:42 -05:00
HDF Tester
9c7b4d7a7f [svn-r22428] Snapshot version 1.8 release 10 (snap2) 2012-06-03 19:24:55 -05:00
Allen Byrne
d77d0103b3 [svn-r22425] CMake generated libsettings needed DEFAULT_API_VERSION set 2012-06-01 12:07:58 -05:00
Jonathan Kim
7d93246d6f [svn-r22420] Purpose:
HDFFV-7602 - GMQS: HDF5 command tools: Provide framework for reusable test files among tools
  Stage2 working for h5diff tool.

Description:
  Update cmake script to fetch test files from any tools to a test directory
  and run test in organized manner. 
  Also keep the apperance similiar to shell script for better maintainance.
  
Tested:
  CMake (Windows and jam)
2012-05-30 15:27:56 -05:00
Allen Byrne
1bdad6835e [svn-r22416] Missing ${TEST_FOLDER} path component in test script 2012-05-29 09:31:09 -05:00
Allen Byrne
9f079316a6 [svn-r22415] Windows needs monolithic set for CPack (CMake 2.8.6) 2012-05-29 09:24:01 -05:00
HDF Tester
21ebc483fc [svn-r22414] Snapshot version 1.8 release 10 (snap1) 2012-05-27 19:29:58 -05:00
Allen Byrne
fe744bd8df [svn-r22412] reduce compiler warnings by removing unreferenced variables and adding cast
Tested: local linux
2012-05-25 12:58:59 -05:00
Allen Byrne
2f7d953a9d [svn-r22409] reduce compiler warnings reported by CDash for non-critical issues 2012-05-25 12:35:39 -05:00
Allen Byrne
8dee09d7cf [svn-r22407] do not need warnings from utility program. 2012-05-25 08:36:23 -05:00
Allen Byrne
82ea7b2d3c [svn-r22402] HDFFV-8064: Merge windows #ifdef blocks to 1.8
Trunk dailies passed
2012-05-24 09:24:17 -05:00
Allen Byrne
cb3f99d29b [svn-r22398] Accidental commit, remove file 2012-05-23 13:37:30 -05:00
Allen Byrne
588c5107ce [svn-r22397] Merge trunk changes for HDFFV-7999 and h5dump test script to branch 2012-05-23 13:31:42 -05:00
Raymond Lu
58d14b196b [svn-r22394] I forgot to close a few datatypes in test_str_create. I fixed them in this commit.
Tested on jam - very simple change.
2012-05-23 09:47:59 -05:00
HDF Tester
1fd36c6a34 [svn-r22383] Snapshot version 1.8 release 10 (snap0) 2012-05-20 19:31:06 -05:00
Mohamad Chaarawi
674f450367 [svn-r22379] make the file and memory MPI datatypes as default properties in the
DXPL so that we don't have to insert and remove them everytime we
perform collective I/O.
2012-05-18 10:34:28 -05:00
Mohamad Chaarawi
ca8d4218d2 [svn-r22376] add a test to expose a memory leak when adding/removing the same property in property list multiple times.
fix that bug.
2012-05-18 09:18:09 -05:00
Jonathan Kim
c11b378c89 [svn-r22374] Purpose:
Fix h5repacktst (test file generating binary) to address HDFFV-8016  h5repacktst failed in AIX 32bit mode

Description:
  Segmentation fault occurred when h5repacktst try to generate a dataset when
  system memory is limited to 256MB. 
  Add error handling to display apporiate message to exit and adjust the test 
  dataset according to the original size which didn't causing out of memory.

Tested:  test was done by limit memory in csh.
jam (linux32-LE),  ostrich (linuxppc64-BE)
2012-05-16 16:42:18 -05:00
Dana Robinson
80e66f6d42 [svn-r22370] Fix for HDFFV-7697
Minor change to error message text in H5R.c.

Minor change: tested on jam
2012-05-15 12:37:53 -05:00
Allen Byrne
5a18ff73dd [svn-r22367] change file name case 2012-05-14 17:35:29 -05:00
Allen Byrne
bab2e13927 [svn-r22365] Added libsettings file to packaging
Tested: local linux
2012-05-14 15:08:05 -05:00
Allen Byrne
a19624817a [svn-r22363] correct name of text file 2012-05-14 14:24:08 -05:00
Allen Byrne
499820e16f [svn-r22362] Update to 1.8.9 release 2012-05-14 14:23:34 -05:00
Allen Byrne
98b9db49a1 [svn-r22359] Change library source properties: remove "LANGUAGE C" property from headers. Add "LINKER C" property to link.
Tested: local linux
2012-05-14 11:50:38 -05:00
Allen Byrne
8d9a9d0ed3 [svn-r22355] Correct the windows references in the configurations tested section 2012-05-11 09:59:02 -05:00
Allen Byrne
b0d7f35005 [svn-r22345] replace C++ style comments 2012-05-07 12:46:52 -05:00
Larry Knox
4a5efa8d60 [svn-r22339] config/examples.am
Added code to install README in share/hdf5_examples
    Set permissions on README file to rw-r--r--.

Tested with h5committest, make install and make uninstall.
2012-05-02 12:03:35 -05:00
Dana Robinson
94c8e924fa [svn-r22335] Fixed manifest from last docs check-in. 2012-05-02 00:04:27 -05:00
Dana Robinson
22baf919fb [svn-r22333] Removed install instructions for unsupported Visual Studio versions. 2012-05-01 23:11:31 -05:00
Larry Knox
af34693d8c [svn-r22329] Add examples/README file to be installed with examples.
It was in hdf5 v1.8.8, but not checked into the 1.8 branch.

:Text file only, but tested with h5committest.
2012-05-01 17:09:11 -05:00
Quincey Koziol
9a5073a8f3 [svn-r22325] Description:
Bring r22324 from trunk to 1.8 branch:

    Change name of MPE log file produced from "cpilog" (which was the name
used in the example code we were referencing) to "h5log".

Tested on:
    None, too trivial, eyeballed only...
2012-04-29 00:06:00 -05:00
Jonathan Kim
0e268cb5aa [svn-r22322] Description:
The ph5diff (parallel h5diff) can intermittently hang in parallel mode
  when comparing the two HDF5 files that contains common name objects with 
  different object types.  (HDFFV-8003)
  Skip only the specific test for parallel until the fix has made.

Tested:
jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2012-04-27 15:36:05 -05:00
Jonathan Kim
c631d9e87a [svn-r22320] Purpose:
Fix for HDFFV-7998-h5diff: incorrect behavior and output for comparing symbolic dangling links without following-symlinks option 

Description:
  Fix not to check and display dangling link status without --follow-symlinks option.
  Berfor the fix, when comparing symbolic link to symbolic link without follow-symlinks option, h5diff followed to check if those links are dangling or not. It caused to display output incorrectly (dangling link instead of symbolic link).
  
  The fix also improved performance when comparing lots of symbolic links without the --follow-symlinks option.
  Test cases were added and tagged with jira#.
  This merged from HDF5 trunk r22319.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), cmake (jam)
2012-04-27 10:50:50 -05:00
Quincey Koziol
e43c3278c4 [svn-r22313] Description:
Bring r22312 from trunk to 1.8 branch:

    Correct error reported by user (Martin Otte) where we weren't using
realloc'ed buffer in MPI datatype code.

Tested on:
   Mac OSX/64 10.7.3 (amazon) w/parallel
2012-04-23 15:53:36 -05:00
Dana Robinson
0ce08d5b7e [svn-r22309] Fixed a typo 2012-04-20 16:08:22 -05:00
Dana Robinson
a2787ee14c [svn-r22307] Removed references to ancient platforms and compilers from the INSTALL document. 2012-04-20 15:43:55 -05:00
Jonathan Kim
cd49872f49 [svn-r22301] Purpose:
Fix for HDFFV-8001 - h5unjam: segfault when used -V (show version) option

Description:
  h5unjam has an option '-V' to display version information.
  "h5unjam -V" caused segfulat for 1.8.9 pre-release.
  Merged from HDF5 trunk 22300

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), Windows (32-LE cmake), Cmake (jam)
2012-04-19 16:50:46 -05:00
Quincey Koziol
34ada2e41d [svn-r22291] Description:
Bring r22287 from trunk to 1.8 branch:

    Clean up more FUNC_ENTER/FUNC_LEAVE macros and move H5D & H5T code toward
the final design (as exemplified by the H5EA & H5FA code).

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug & parallel
2012-04-17 15:59:36 -05:00
Raymond Lu
e12e4936e9 [svn-r22282] Issue 7934 - The data sieve buffer size was for all the datasets in the file. It
could waste memory if any dataset size is smaller than the sieve buffer
      size.  Now the library picks the smaller one between the dataset size
      and the sieve buffer size from the file access property. (There is no change
      to hl/ and fortran/ directories.  They were property changes during the merge
      from the trunk)

Tested on jam, koala, and ostrich.
2012-04-12 10:22:16 -05:00
Jonathan Kim
f6fded4394 [svn-r22281] Purpose:
Fix for HDFFV-7993 - h5repack fails with error "chunk size must be <= maximum dimension size for fixed-sized dimensions"

Description:
  Fixed a failure when change the chunk size of a specified chunked dataset with unlimited max dims.
  Also took care of converting to contiguous and compact from the dataset.
  Test cases were added and tagged with jira#.
  Merged from HDF5 trunk r22277.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), Windows (32-LE cmake), Cmake (jam)
2012-04-11 17:31:31 -05:00
Allen Byrne
0627a64084 [svn-r22275] Clear up examples vs applications instances and add minimum file. 2012-04-11 12:37:50 -05:00
Mike McGreevy
676e001b35 [svn-r22269] - Clear out RELEASE.txt ahead of 1.8.10 changes
- Update version references in RELEASE.txt
- Add reminder to HISTORY-1_8.txt that it needs the completed
  RELEASE.txt from the 1.8.9 branch when it's done
2012-04-09 14:49:31 -05:00
Mike McGreevy
dd47da23a7 [svn-r22268] Update 1.8 branch version to 1.8.10-snap0 2012-04-09 14:39:33 -05:00
Allen Byrne
5510432932 [svn-r22264] Use correct index for inserting null terminator
Tested: windows under debug
2012-04-09 13:17:26 -05:00
Allen Byrne
d1b5ec6432 [svn-r22262] Update version number in examples 2012-04-09 10:37:39 -05:00
Allen Byrne
24f1a91569 [svn-r22261] Update list of CMake options 2012-04-09 10:34:26 -05:00
HDF Tester
4ee9bde353 [svn-r22259] Snapshot version 1.8 release 9 (snap16) 2012-04-08 19:29:44 -05:00
Allen Byrne
48ef393344 [svn-r22256] Added note for 1.8.9: Autotools configure problem and cmake options 2012-04-06 12:59:01 -05:00
Vailin Choi
dee21e9e82 [svn-r22252] Fixed a bug in H5Ocopy(): When copying an opened object, call the object's
flush class action to ensure that cached data is flushed so that H5Ocopy will get
the correct data.  (HDFFV-7853)
this line, and those below, will be ignored--

_M   .
M    test/objcopy.c
M    src/H5Ocopy.c
M    src/H5Goh.c
M    src/H5Dint.c
M    src/H5Opkg.h
M    src/H5Doh.c
M    src/H5Toh.c
M    src/H5O.c
M    src/H5Dpkg.h
M    release_docs/RELEASE.txt
_M   fortran
2012-04-05 14:14:38 -05:00
Allen Byrne
9ac4faa923 [svn-r22248] Added new files and tests to CMakeLists.txt
Tested: local linux
2012-04-04 14:15:33 -05:00
Quincey Koziol
96f9feec9b [svn-r22245] Description:
Bring r22244 from trunk to 1.8 branch:

        Correct use of deprecated API routines in test routine.

Tested on:
        Linux/PPC 2.6 (ostrich) w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-ia64 2.6 (ember) w/Intel compilers, w/C++ & FORTRAN, parallel,
                in production mode
2012-04-03 16:51:00 -05:00
Quincey Koziol
177cbf2b9b [svn-r22239] Description:
Bring r22233 from trunk to 1.8 branch:

   Correct several errors in fractal heap code: root indirect block was
getting pinned/protected more than once, "single" free space sections weren't
getting "re-parented" correctly when the heap transitioned between having a
root indirect block and a root direct block, and several related issues.  Also
cleaned up some warnings in library/tests.

Tested on:
   FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
   FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
   Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
       w/C++ & FORTRAN, w/threadsafe, in debug mode
   Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
       w/C++ & FORTRAN, in production mode
   Mac OSX/64 10.7.3 (amazon) w/debug
2012-04-02 13:21:05 -05:00
Quincey Koziol
bb455ebd6f [svn-r22237] Description:
Switch 'snprintf' -> 'HDsnprintf'

Tested on:
        (eyeballed only, very simple)
2012-04-02 09:40:22 -05:00
HDF Tester
b0a44ceb99 [svn-r22234] Snapshot version 1.8 release 9 (snap15) 2012-04-01 19:28:02 -05:00
Quincey Koziol
d7fafe95fc [svn-r22232] Description:
Fix another typo in MANIFEST
2012-04-01 18:10:34 -05:00
Quincey Koziol
03e9c8740c [svn-r22231] Description:
Bring r22229 from trunk to 1.8 branch:

       Add 'H5O_mcdt_search_cb_t' to bin/trace script and re-run the
bin/reconfigure script.

Tested on:
       FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
       FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
2012-04-01 17:46:07 -05:00
Quincey Koziol
d3363a4659 [svn-r22230] Description:
Correct typo in MANIFEST file
2012-04-01 17:42:08 -05:00
Quincey Koziol
362f22119d [svn-r22228] Description:
Bring r22219 from trunk to 1.8 branch: (with release manager's blessing)

      Merge "file image" changes from feature branch back to trunk.

Tested on:
   h5committested
2012-04-01 17:27:15 -05:00
Quincey Koziol
7022c013ac [svn-r22225] Description:
Bring r22220, r22221 & r22224 from trunk to 1.8 branch: improved h5repack metadata block size testing, and some code cleanups.

Tested on:
        FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
        FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
2012-04-01 16:52:57 -05:00
Quincey Koziol
d2232db790 [svn-r22223] Description:
Update GCC compiler flags for new 4.7.0 release.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/gcc 4.7.0
2012-04-01 15:43:59 -05:00
Quincey Koziol
e01475a1ab [svn-r22217] Description:
Added note about new '-S' option to h5stat and '-M' option to h5repack.
2012-03-31 00:23:30 -05:00
Quincey Koziol
51da27de3b [svn-r22216] Description:
Bring r22180, r22181 and r22214 from trunk to 1.8 branch:

Add new "metadata block size" command line option ('-M <x>' or
    '--metadata_block_size=<x>') for h5repack.

    [With release managers blessing]

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug)
    (h5committest upcoming)
2012-03-31 00:19:54 -05:00
Quincey Koziol
0e573bd240 [svn-r22215] Description:
Bring r22171 from trunk to 1.8 branch:

Bring "merge committed datatypes during H5Ocopy" feature from branch to
    trunk.  (Also has some minor bugfixes with it)

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug
    (h5committest coming up)
2012-03-30 23:40:52 -05:00
Dana Robinson
d73d19fb0a [svn-r22212] Brought r22211 from the trunk
STDIO VFD fixes (HDFFV-7917).  Mainly Windows correctness issues (propagated from the SEC2 VFD and the old Windows VFD) and issues where large files are accessed.

Tested on:
64-bit Mac OS-X
64-bit Windows 7
jam
koala
ostrich
2012-03-30 16:43:30 -05:00
Mike McGreevy
5799eccab8 [svn-r22210] Purpose:
Merge fix for HDFFV-944 (r22149) from trunk to hdf5_1_8.

    (Also reran bin/reconfigure which updated trace information
    for the two new MPI functions for getting/setting atomicity
    in src/H5Fmpi.c)

Tested:
    h5committest
2012-03-30 16:00:55 -05:00
Binh-Minh Ribler
56d950d326 [svn-r22209] Purpose: Fixed bugs HDFFV-2761 & HDFFV-7852
Description:
    - Replaced PredType::NotAtexit() with PredType::AtExit(H5CPP_EXITED)
      and used PredType::AtExit as a flag to detect when all predefined
      types have been destroyed.  Then, H5close will be called to terminate
      the library after its being re-initiated when the PredType destructors
      were activated.  This change removed the memory leaks shown by the
      user's sample program in HDFFV-2761.
    - Added H5CPP_EXITED for PredType::AtExit to use as a flag
    - Rearranged constructors in CompType to fix bug HDFFV-7852
    - Updated some inaccurate comments
    - Removed stream functions from FileAccPropList
    - Replaced H5_VMS with appropriate macro in H5IdComponent.cpp
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 2.6 (amani)
    SunOS 5.10 (linew)
2012-03-30 14:34:20 -05:00
Mike McGreevy
7f7b8bd972 [svn-r22208] Purpose:
Merge fix for HDFFV-398 (r22146 and r22147) from trunk to hdf5_1_8.
Tested:
    h5committest
2012-03-30 12:02:03 -05:00
Scot Breitenfeld
4ae9998f2a [svn-r22207] Added new release text for new C/Fortran high level APIs, new fortran APIs and
bug fixes.
2012-03-30 00:47:08 -05:00
Scot Breitenfeld
d63add741b [svn-r22206] Merged changes from the trunk in to the branch, used:
svn merge -r r22040:22205 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/hl

Tested: jam (gnu and intel compilers)
2012-03-29 19:45:04 -05:00
Scot Breitenfeld
e320fb15f8 [svn-r22205] Brought changes from the trunk in the the branch, used:
svn merge -r r21721:22163 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Tested: jam (gnu)
2012-03-29 19:30:54 -05:00
Allen Byrne
a5736e5b89 [svn-r22203] Add extra search term 2012-03-29 17:26:48 -05:00
Allen Byrne
a017014f5e [svn-r22200] Update MINGW configuration (MinGW is Windows except for some issues) 2012-03-29 17:20:03 -05:00
Allen Byrne
7c41896c33 [svn-r22196] Add PASS_REGULAR_EXPRESSION property to fortran tests to verify 0 errors. Some platforms do not return proper value in CMake ADD_TEST and results in a false positive.
Brought from trunk
2012-03-29 16:34:03 -05:00
Allen Byrne
f1fd281d9e [svn-r22191] Update MINGW configuration 2012-03-29 12:53:02 -05:00
Jonathan Kim
646374e701 [svn-r22188] Purpose:
Fix for HDFFV-7644 GMQS: h5diff - incorrect behaviors when comparing HDF5 files with different type of objects (dataset, group, type) as common objects

Description:
  Fixed failure for comparing same named object with different object types in comparing groups. (common object comparison)
  Prior to the fix, h5diff resulted in error. After the fix, h5diff detects such case as non-comparable and display messages accordingly.
  Test cases were added and tagged with jira#.
  Merged from HDF5 trunk 22176.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
2012-03-29 11:57:01 -05:00
Allen Byrne
b8cb145bdf [svn-r22186] MinGW compile issues fixed.
Tested: windows (big test using stdio only fails - this will be filed for further investigation)
2012-03-29 11:47:26 -05:00
Dana Robinson
03ee4aa0ee [svn-r22179] Pulled trunk r22178 into 1.8 branch:
Fixed a bad merge where truncate was called twice in the core VFD.

Minor change: tested on jam, koala, ostrich and 64-bit Windows 7 with the core
VFD set.
2012-03-28 19:17:46 -05:00
Quincey Koziol
068ae2a14f [svn-r22177] Description:
Merge "summary" option ('-S') from trunk to 1.8 branch.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug
    (h5committest forthcoming)
2012-03-28 17:27:17 -05:00
Neil Fortner
658af5c1f8 [svn-r22174] Port r22173 from trunk to 1.8 branch
Purpose: Fix HDFFV-7762

Description:
When copying an object with attribute creation order tracked, the attribute
creation order was not copied correctly to the destination file, causing an
error if the creation order was also indexed (due to attempting to insert
duplicate keys) or incorrect creation orders otherwise.  Fixed to copy the
creation order correctly.

Also fixed the attribute character set not being copied, and fixed an issue
where an attribute opened with H5Aopen (or similar, but not by_idx), from an
object using the latest format but without creation order being tracked, would
always report the creation order as 0 (and marked as valid).

Tested: jam, koala, ostrich (h5committest), durandal
2012-03-28 16:20:20 -05:00
Dana Robinson
81145a2968 [svn-r22162] Pushed r22161 from the trunk to the 1.8 branch.
This adds a message when the time-consuming istore test is skipped due to a lack of sparse file support.

Minor change: tested on 64-bit Mac OS-X Lion
2012-03-27 16:54:19 -05:00
Dana Robinson
5a65a6d367 [svn-r22160] Pushed r22152 from the trunk to the 1.8 branch.
This adds a "skipped" message when the 50x50x50 sparese istore test is skipped.

Minor change: tested on jam (test not skipped) and 64-bit Mac OS-X Lion (test skipped due to HFS sparse files not being suppored in the SEC2 VFD).
2012-03-27 16:21:42 -05:00
Dana Robinson
003c646faa [svn-r22159] Propagated Windows and POSIX correctness fixes from the SEC2 VFD to the core VFD. This mainly affects backing store I/O and fixes a bug on Windows where files > 2 GB could not be opened.
Fixes/completes:
HDFFV-7603 (Can't open files > 2 GB on Windows)
HDFFV-7916 (Windows/POSIX correctness fixes)

Tested on:
jam, ostrich, koala, loyalty, 64-bit Mac OS-X Lion, 64-bit Windows 7
2012-03-27 16:03:30 -05:00
Dana Robinson
cfcaf10f26 [svn-r22158] Updated RELEASE.txt concerning HDFFV-7769 (changes to the istore test to keep CTest from timing out when sparse files are not supported). 2012-03-27 15:45:40 -05:00
Mohamad Chaarawi
94502a2769 [svn-r22157] Merge the atomicity routines from the trunk 2012-03-27 13:54:15 -05:00
Raymond Lu
6234c0dee2 [svn-r22156] Issue 7785 - Writing or reading many small chunks ran out of memory and caused seg fault. I added checks in two places to make sure the library returns error stack
when it fails to allocate memory.  I didn't add any test to the test suite since there is no good way to test it.  But I tested and verified the error stack by hand.

Tested on jam - this is a merge from the trunk.
2012-03-27 12:03:32 -05:00
Allen Byrne
bf4f44388b [svn-r22155] Update windows platforms 2012-03-27 10:49:41 -05:00
Dana Robinson
db1dedef50 [svn-r22150] Merged trunk rev 22103 which fixes HDFFV-7769 (Windows tests time out when the core VFD is set).
Tested on: jam, koala, ostrich, loyalty, 64-bit Windows 7
2012-03-26 15:44:47 -05:00
Dana Robinson
35a903680e [svn-r22148] Removed incorrect executable svn properties from text, source, in, and HDF5 files. 2012-03-26 15:12:51 -05:00
Raymond Lu
0035a10a22 [svn-r22145] #Issue 7922 - H5Pset_data_transform had seg fault with some operations like x*-100.
The parser mistaked "-" as substraction.  I fixed it and also fixed another problem
with some special cases like 100-x and 2/x.  This is a merge from the trunk.

Tested on jam, koala, and ostrich.
2012-03-26 14:06:42 -05:00
HDF Tester
4568da2c53 [svn-r22141] Snapshot version 1.8 release 9 (snap14) 2012-03-25 19:29:22 -05:00
Neil Fortner
febf006ee2 [svn-r22139] Port r22138 from trunk to 1.8 branch.
Add check for valid number of children in H5B_decode().  See HDFFV-5897.

Tested: jam, durandal (too minor for full h5committest)
2012-03-24 22:24:44 -05:00
Jonathan Kim
7af54eff48 [svn-r22137] Purpose:
update for HDFFV-7837 - h5diff: incorrect behavior with exclude-path option when unique object exist only in one file

Description:
  Add the new test output list to test shell script.
  This is based on the previous commit r22124.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE)
2012-03-23 16:13:43 -05:00
Binh-Minh Ribler
2ae01a1bf4 [svn-r22131] Purpose: Fixed bug 4279
Description:
    Closed various HDF5 objects in DataSet::getInMemDataSize and
    Attribute::getInMemDataSize to remove some memory leaks.
Platforms tested:
    Linux/32 2.6 (jam)
    Linux/64 2.6 (amani)
    SunOS 5.10 (linew)
2012-03-23 00:43:59 -05:00
Jonathan Kim
b462f48e9b [svn-r22124] Purpose:
Fix for HDFFV-7837 - h5diff: incorrect behavior with exclude-path option when unique object exist only in one file

Description:
  If unique objects exists only in one file and try to exclude
  the unique objects with --exclude-path option, h5diff missed 
  excluding some objects. 
  Fixed to exclude objects correctly in such case.
  Test cases were added and tagged with jira#.
  Merged from HDF5 trunk r22114.


Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-03-22 14:35:41 -05:00
Jonathan Kim
d6f8aa5c53 [svn-r22121] Purpose:
update for HDFFV-7523 JPSS: h5dump fails to open an attribute when using the -a option to specify an attribute with a slash in the name

Description:
  Added capability for "-a" option to show attributes containing "/"
  by using an escape character. For example, for a dataset "/dset"
  containing attribute "speed(m/h)", use "h5dump -a "/dset/speed(\/h)"
  to show the content of the attribute. 
  Merged from HDF5 trunk r22052, r22063, r22108

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE),  Windows (32-LE cmake), Cmake (jam)
2012-03-22 11:21:00 -05:00
Quincey Koziol
5c0ed1b304 [svn-r22113] Description:
Bring r22112 from trunk to 1.8 branch:

        Minor code safety issue in test/fheap.c and whitespace in other files.

Tested on:
        Mac OSX/64 10.7.3 (amazon) w/debug
        (Too minor to require h5committest)
2012-03-21 15:28:59 -05:00
Allen Byrne
e0b060b430 [svn-r22106] Update linux VM version info 2012-03-21 10:59:42 -05:00
Allen Byrne
1910652b96 [svn-r22104] Added cross platform example text for new h5dump file option 2012-03-21 09:40:05 -05:00
Allen Byrne
a444aba878 [svn-r22101] Comment out tests that have issue with the way legacy test script filters/regex test output.
Tested: windows
2012-03-20 09:27:21 -05:00
Allen Byrne
92f575b2bf [svn-r22099] Add reference file extensions in new tests.
Remove "STAR" test as some platforms vary in interpretation.
Add new tets to windows legacy test script
2012-03-20 08:54:52 -05:00
Allen Byrne
67bea14483 [svn-r22095] Correct test script errors
Add new tests to legacy dos script
2012-03-19 17:12:20 -05:00
Allen Byrne
076898d7dd [svn-r22093] HDFFV-7931: timezone issue
Runtime library setting should be to DLL versions for static.

Tested: windows
2012-03-19 13:18:58 -05:00
Allen Byrne
4c4c54f4b2 [svn-r22092] Reorder tools/h5jam/testfiles ordering 2012-03-19 10:06:46 -05:00
Allen Byrne
19206f5687 [svn-r22088] HDFFV-7957(7958): Correct use of ERROR_STACK for h5dump and tools.
Tested: local linux after week in trunk
2012-03-19 09:26:04 -05:00
HDF Tester
b1a2c642a7 [svn-r22086] Snapshot version 1.8 release 9 (snap13) 2012-03-18 19:31:55 -05:00
Allen Byrne
6b252e4374 [svn-r22085] Update legacy project files for new dump source
Update pubconf to synch with latest options
2012-03-16 12:38:33 -05:00
Raymond Lu
20ae9239c8 [svn-r22083] I updated the item for Issue 7756.
No test is needed.
2012-03-16 11:09:58 -05:00
Neil Fortner
4afb95df4f [svn-r22073] Port r22072 to 1.8 branch
Purpose: Fix rare corruption bug (HDFFV-7879)

Description:
When using the new object header format, it was possible for corruption to occur
if the first object header chunk changed size such that the lenght of the "chunk
0 size" field changed.  This only occurred if there were messages that had not
been decoded.  The original algorithm that changed the object header chunk size
marked all messages as dirty, causing those that had not been decoded to have
both the raw and native form invalidated.  Changed the algorithm to avoid
marking messages dirty and added assertions to catch the case where messages
are dirtied without being decoded (or recently created) first.

Tested: jam, koala, ostrich (h5committest), durandal
2012-03-15 14:23:55 -05:00
Neil Fortner
bd54b26466 [svn-r22071] Port r22070 to 1.8 branch
Purpose: Fix rare corruption bug

Description:
When using the new object header format and adding an attribute with a size near
64K, it was possible for file corruption to occur.  This happened only if the
first object header chunk was smaller than 256 bytes and then grew to larger
than 64K after the attribute was added.

Tested: ostrich, jam, koala (h5committest), durandal
2012-03-15 14:13:04 -05:00
Quincey Koziol
ade12e13f3 [svn-r22060] Description:
Change to use versioned API call, to avoid problems when defaulting to
older AI versions.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug
2012-03-13 09:37:55 -05:00
Quincey Koziol
864e6b0e70 [svn-r22059] Description:
Bring r22058 from trunk to 1.8 branch:

    Better fix for zero-sized dataset error (r22053).

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug & parallel
2012-03-12 23:21:02 -05:00
Jonathan Kim
493e1e8f80 [svn-r22057] Purpose:
Fix for HDFFV-7835 h5diff: incorrect result for comparing the two same type symlinks as dangling links.

Description:
  When two symbolic dangling links are compared with --follow-symlinks option,
  the result should be same. It works for comparing two files, but didn't work
  for comparing two objects. 
  Test cases were added and tagged with jira#.
  Merged from HDF5 trunk r22038.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-03-12 17:49:17 -05:00
Quincey Koziol
37156e3914 [svn-r22055] Description:
Bring r22053 from trunk to 1.8 branch:

    Correct corner case for creating a contiguous dataset with a zero-sized
dataspace, when the allocation time is set to early.

    Also clean up a few compiler warnings in the dataspace code.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug & parallel
2012-03-12 16:54:00 -05:00
Allen Byrne
cad1e02a77 [svn-r22050] 2012-03-12 16:21:19 -05:00
Allen Byrne
1adc7aef23 [svn-r22048] Add h5dump issues fixed 2012-03-12 15:36:25 -05:00
Allen Byrne
10179b33ee [svn-r22045] HDFFV-7957-7958:
Add tools error stack and check return from H5Dreference call.
Tested: trunk
2012-03-12 12:47:27 -05:00
Allen Byrne
e95d26cc66 [svn-r22044] HDFFV-7957-7958:
Add tools error stack and check return from H5Dreference call.
Add missing file update
2012-03-12 12:34:06 -05:00
Allen Byrne
5ffbfdee1e [svn-r22043] HDFFV-7839: Dangling link should not display error
If a link is specified on the command with the -d option, call the handle_links function on error from the H5Dopen command. 
Updated test file results with error stack when link not found.

Tested: trunk
2012-03-12 12:23:29 -05:00
HDF Tester
e6efdf9620 [svn-r22041] Snapshot version 1.8 release 9 (snap12) 2012-03-11 20:22:12 -05:00
Larry Knox
e4850a716f [svn-r22039] Fix for HDFFV-7878.
gnu-flags
        Don't add gcc flags for intel compiler even though its version display includes "gcc
".
intel-flags
        Extend intel version to include icc-12*.

Tested on jam, koal, ostrich with h5committest.
Chedcked in to trnk last week.
2012-03-09 16:50:36 -05:00
Jonathan Kim
bffb2fc65f [svn-r22037] Purpose:
HDFFV-7602 - GMQS: HDF5 command tools: Provide framework for reusable test files among tools
  Stage2 working for h5ls tool.

Description:
  Update cmake script to fetch test files from any tools to a test directory
  and run test in organized manner. 
  Also keep the apperance similiar to shell script for better maintainance.
  
Tested:
  CMake (Windows and jam)
2012-03-09 10:13:54 -05:00
Jonathan Kim
185cc9746b [svn-r22031] Purpose:
Task for HDFFV-7862 - Select data by chunk direction to improve performance in h5repack

Description:
  h5repack sometimes became very slow when handling big chunked datasets in
  certain cases. (when chunk boundary doesn't match with a hyperslab boundary.)
  The main issue was from figuring out a hypeslab without considering chunk
  boundary to read from and write to such datasets.
  The update was made to figure out a better hyperslab unit with considering
  chunk boundary to improve performance for such cases prior to the update.


Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows
2012-03-06 10:41:55 -05:00
Allen Byrne
6a2c50b10a [svn-r22025] Cleanup compiler warnings.
Add HD prefix to tools library based tests. Cleaned allocation/free in tests.

Tested: local linux/ h5committetest
2012-03-05 09:19:02 -05:00
HDF Tester
7619eb4b18 [svn-r22023] Snapshot version 1.8 release 9 (snap11) 2012-03-04 19:27:29 -05:00
Allen Byrne
b16a1bf71c [svn-r22014] Add USER_BLOCK change and highlight whitespace changes for h5dump refactoring 2012-03-02 09:39:58 -05:00
Allen Byrne
68d93b7f4e [svn-r22013] HDFFV-7560:
Merge 1.8 and h5dump/tools and tests based on tools library from trunk.
Reduced warnings.

HDFFV-7949:
Remove duplicated functions in h5ls

Tested: local linux,h5committest
2012-03-02 09:21:13 -05:00
Albert Cheng
c714d9ef43 [svn-r22000] Updated for the changes made to IBM configure.
Also update the IBM tested platform information.
2012-02-28 07:46:19 -05:00
Albert Cheng
e46c4aeee5 [svn-r21998] Feature: HDFFV-7793: AIX Fortran and C++ Compiler version information
Added code to display the version information of XL fortran and C++ compiler
version information. (This is just a quick fix for the AIX XL compilers.
The overall algorithm of compilers version information needs an overhaul.)

Tested: ADA machine. (No committest because the changes applied to AIX XL
compilers only.)
2012-02-28 07:34:11 -05:00
HDF Tester
a263f6cfdb [svn-r21961] Snapshot version 1.8 release 9 (snap10) 2012-02-19 19:22:11 -05:00
Quincey Koziol
470bc6a33b [svn-r21948] Description:
Bring r21947 from trunk to 1.8 branch:

    Catch a missing FUNC_ENTER that escaped the recent pass through the source
code.

Tested on:
    None, too minor, just eyeballed.
2012-02-16 11:03:35 -05:00
Quincey Koziol
34e40a1294 [svn-r21935] Description:
Bring r21932 & r21934 from trunk to 1.8 branch:

r21932:
    Correct misnamed FUNC_ENTER macro.

r21934:
    Remove some leftover uses of the __FUNCTION__ macro, replacing them with
FUNC macro, as used everywhere else.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug & production
2012-02-13 10:35:21 -05:00
Dana Robinson
7d8acc2824 [svn-r21927] Updated RELEASE.txt with HDFFV-7780 information. 2012-02-10 16:51:40 -05:00
Dana Robinson
944da8a83b [svn-r21926] Merged fix for HDFFV-7780 (incorrect Windows thread creation function) from trunk (changeset 21816).
Tested on 64-bit Windows 7.  This has baked in the trunk since Dec 5 with no issues.
2012-02-10 16:42:37 -05:00
Quincey Koziol
5f94d17285 [svn-r21925] Description:
Bring r21919-21924 from trunk to 1.8 branch: cleanup FUNC_ENTER macros,
etc.

    Also removed Subversion mergeinfo tags from a few directories and files.
These are artifacts from non-root merges using pre-1.6 Subversion clients. (This
should fix the problem of unchanged directories looking "changed" during
checkins.)

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug & production
    (daily tested on trunk)
2012-02-10 14:48:08 -05:00
Quincey Koziol
f16098f402 [svn-r21918] Description:
Bring r21917 from trunk to 1.8 branch:

    Bring [spirit of] r20393 from coverity branch back to trunk:

Move initialization ocrt_info.new_obj = NULL; before FUNC_ENTER_NOAPI -- gh

Tested on:
    Mac OS X/64 10.7.3 (amazon) w/debug, production & parallel
    (too minor to require h5committest)
2012-02-08 08:41:23 -05:00
Raymond Lu
dda14b5a1c [svn-r21914] Issue 7829 - data conversion from "long double" to integers failed on Ubuntu with optimization. I documented it as
a known solution and provided users a way to lower down the optimization.

No test.
2012-02-07 16:43:38 -05:00
Raymond Lu
a7c969372e [svn-r21912] Issue 7756 - Creating a dataset in a read-only file caused seg fault when the file is closed. I fixed the problem by putting a condition check early in H5O_create of H5O.c. The old code checked it too late, not until a file space is created. I added a test case in tfile.c to check the creation of group, dataset, attribute, and datatype.
Tested on jam - I've tested the same changes in the trunk with h5committest.
2012-02-07 10:49:44 -05:00
HDF Tester
4596ad79a9 [svn-r21911] Snapshot version 1.8 release 9 (snap9) 2012-02-05 19:54:51 -05:00
Jonathan Kim
66be4be4e5 [svn-r21901] Purpose:
HDFFV-7602 - GMQS: HDF5 command tools: Provide framework for reusable test files among tools
  Stage2 working for h5repack cmake test.

Description:
  Update cmake script to clean up correctly.
  Revisit h5repack cmake test script updated from r21870.
  Also sync with HDF5 trunk. (Jira 2605)
  
Tested:
 cmake test for Windows (32-LE) and jam (linux32-LE)
2012-01-30 13:31:12 -05:00
HDF Tester
f59e450d9c [svn-r21899] Snapshot version 1.8 release 9 (snap8) 2012-01-29 19:26:11 -05:00
Jonathan Kim
2558bfc562 [svn-r21892] Purpose:
Fix for HDFFV-7836 h5diff: displays error stack message for comparing the two dangling symlink with follow-symlinks option

Description:
  While ago, to improve performance, skipping same object checking 
  (h5tools_is_obj_same()) was added. 
  However the checking function doesn't understand about the dangling link and
  caused the issue. 
  Since handling dangling link code section already implemented, move the 
  checking function after handling dangling-links to address the problem.
  Test was added and tagged with jira#.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-01-25 16:12:15 -05:00
Allen Byrne
012c46e3d0 [svn-r21887] Correct name of Test Timeout 2012-01-23 09:18:22 -05:00
HDF Tester
8f2a6ff7f7 [svn-r21885] Snapshot version 1.8 release 9 (snap7) 2012-01-22 19:27:06 -05:00
Neil Fortner
58672215f4 [svn-r21883] Remove spurious (orphaned?) function declaration in H5Zpkg.h
Tested: durandal (too minor for full h5committest)
2012-01-20 15:47:29 -05:00
Allen Byrne
d47dbd72d3 [svn-r21881] Add cygwin changes for ext libs 2012-01-18 10:34:05 -05:00
HDF Tester
3457f23dde [svn-r21877] Snapshot version 1.8 release 9 (snap6) 2012-01-15 19:26:17 -05:00
Jonathan Kim
888a5cb1f8 [svn-r21875] Purpose:
HDFFV-7602 - GMQS: HDF5 command tools: Provide framework for reusable test files among tools
  Stage2 working for h5copy tool.

Description:
  Update cmake script to fetch test files from anywhere.
  Also keep the apperance similiar to shell script for better maintainance.
  some updated shell script.
  Merged from HDF5 trunk r21874

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-01-12 17:22:54 -05:00
Jonathan Kim
14068b3ba7 [svn-r21873] Update a comment to make clear from the previous commit (r21870) for HDFFV-7840. 2012-01-11 09:45:29 -05:00
Jonathan Kim
5540ecb72d [svn-r21870] Purpose:
Fix for HDFFV-7840 h5repack: memory leak over one of the h5diff test file

Description:
  Turned out that there were two causes of memory leaks.
  1. for handling variable length string in attribute. 
  2. for handling compound type with non-reference members.  
  The first issue is fixed in copy_attr() which is updated to use h5tools_detect_vlen to take care of vlen string as well as vlen data. 
  The second is fixed in copy_refs_attr() of compound handling code.
  Merged from HDF5 trunk r21869.
  
Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-01-10 11:23:38 -05:00
HDF Tester
da199c11f4 [svn-r21868] Snapshot version 1.8 release 9 (snap5) 2012-01-08 19:26:38 -05:00
Jonathan Kim
26c62123eb [svn-r21866] Purpose:
Fix for HDFFV-7838 h5ls: segfault for handling region reference in attribute with -v option

Description:
  Segfault occurred when h5ls access region reference data in an attribute. 
  This didn't occurred when -v option was used. 
  The cause was "h5tool_format_t info;" struct variable members were accessed
  without proper values were assigned (was NULL), so printf failed later in the code.
  Merged from HDF5 trunk r21865.
  
Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), , cmake-Windows (32-LE)
2012-01-06 11:17:22 -05:00
Frank Baker
677ad4d18f [svn-r21862] Description:
Update copyright to include the year 2012.
2012-01-03 14:46:06 -05:00
Allen Byrne
78a3c278b6 [svn-r21860] Force the setting of test timeout for CTestScript use 2012-01-03 12:09:53 -05:00
HDF Tester
2f06600bbb [svn-r21858] Snapshot version 1.8 release 9 (snap4) 2012-01-01 19:25:16 -05:00
Allen Byrne
58fdcc01a4 [svn-r21855] Remove cdash variables for use with CTestScript.cmake processing.
Tested: windows
2011-12-30 13:30:13 -05:00
Allen Byrne
d30a1274b2 [svn-r21853] Updated cdash variables for use with CTestScript.cmake processing.
Tested: windows
2011-12-30 10:33:28 -05:00
HDF Tester
ddf59dd30f [svn-r21851] Snapshot version 1.8 release 9 (snap3) 2011-12-25 19:31:44 -05:00
Allen Byrne
f64f020797 [svn-r21846] CTestScript generalized and not needed inside project. 2011-12-22 14:06:18 -05:00
Allen Byrne
3d741aa86e [svn-r21844] Added quotes around initcache option to allow use on windows 2011-12-22 11:46:34 -05:00
Allen Byrne
89950ace8e [svn-r21842] Added option to skip testing 2011-12-21 15:31:20 -05:00
Allen Byrne
c148077b82 [svn-r21839] Created CTestScript.cmake to better control the cmake processing of configuration, compile, test, and packing.
Tested: local linux
2011-12-21 14:27:42 -05:00
Allen Byrne
7540072fcb [svn-r21835] Updated ext lib so version and lib packaging macros
Synch across projects
2011-12-20 11:37:52 -05:00
Allen Byrne
5a2cb4f4d1 [svn-r21833] Updated jpeg so version and lib packaging macros
Synch with all projects
2011-12-20 11:09:12 -05:00
HDF Tester
fefcc80c7e [svn-r21832] Snapshot version 1.8 release 9 (snap2) 2011-12-18 19:27:11 -05:00
Allen Byrne
de879c7617 [svn-r21828] synch common macros files with new hdf4 option to build shared jpeg libray - JIRA 1276. 2011-12-14 16:26:00 -05:00
Jonathan Kim
b1d5b5033a [svn-r21817] Description:
Add test case to unix test-script for "HDFFV-2567 - added test for be generated files with at least 9 attributes at root". It's committed previously as r21812 along with Cmake test.

Tested:
  jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-12-06 09:04:53 -05:00
Allen Byrne
960b190655 [svn-r21812] HDFFV-2567 - added test for be generated files with at least 9 attributes at root
Tested: local linux
2011-12-05 15:16:50 -05:00
Allen Byrne
f1efcf9d7a [svn-r21811] CMAKE_BUILD_TYPE compares to "Debug" not "DEBUG" 2011-12-05 13:45:29 -05:00
Allen Byrne
0c7f2a3214 [svn-r21807] Update CMake Required version to match current standard 2.8.6 2011-12-05 11:46:22 -05:00
Allen Byrne
439d540897 [svn-r21806] HDFFV-7854 - Updated all CMakeLists.txt minimum version to be 2.8.6. 2011-12-05 11:36:06 -05:00
Allen Byrne
6158a3128c [svn-r21805] Update CMake Required version in all folders to match current standard 2.8.6 2011-12-05 11:32:07 -05:00
HDF Tester
e98218b62c [svn-r21800] Snapshot version 1.8 release 9 (snap1) 2011-12-04 19:19:54 -05:00
Quincey Koziol
dbc9f4a5a5 [svn-r21797] Description:
Back out r21782 while I figure out what the problem is with the change.

Tested on:
    Daily tests... :-/
2011-12-02 08:41:37 -05:00
Neil Fortner
33830b7221 [svn-r21794] Add RELEASE.txt note for r21791 2011-12-01 13:57:07 -05:00
Neil Fortner
4904187cab [svn-r21791] Port r21789 to 1.8 branch
Purpose: Fix HDFFV-7833

Description:
When shrinking a chunked dataset, the library fills in the unused parts of
chunks that have been shrunk.  The fill value buffer allocated for this purpose
had a maximum size of 1 MB, but the fill was performed in a single operation.
Therefore, if the amount of unused space in a chunk after being shrunk was
greater than 1 MB, the library would read off the end of the fill value buffer.
Changed the maximum fill buffer size to be equal to the chunk size.

Tested: durandal; jam, koala, heiwa (h5committest)
2011-12-01 10:47:54 -05:00
Allen Byrne
19f748cd55 [svn-r21788] Unify CMake config macros, split base macros from ext lib macros 2011-12-01 09:21:41 -05:00
Quincey Koziol
d64f591e57 [svn-r21784] Description:
Bring r21782 from trunk to 1.8 branch:

    Rearrange checks for reasons why we break collective I/O back to independent
I/O into "global" and "local" sections.  We should try to minimize the checks
in the "local" section...

Tested on:
    Mac OS X/32 10.7.2 (amazon) w/parallel
    (too minor to require h5committest)
2011-11-30 15:29:51 -05:00
Allen Byrne
84c944ad7b [svn-r21781] Correct macros for building static libs on linux when CMAKE_BUILD_TYPE is defined.
Also correct use of CMAKE_ANSI_FLAGS for passing into sub-projects.

Tested: local linux
2011-11-30 12:52:27 -05:00
HDF Tester
77fcd58604 [svn-r21776] Snapshot version 1.8 release 9 (snap0) 2011-11-27 19:29:01 -05:00
Allen Byrne
3be9358e0b [svn-r21773] Correctly use CMAKE_BUILD_TYPE in functions for building extrnal libraries.
Tested: local linux
2011-11-22 13:40:38 -05:00
Allen Byrne
0213b3b435 [svn-r21766] Update Linux VM section to match 1.8.8 2011-11-16 10:27:30 -05:00
Raymond Lu
db7410f838 [svn-r21765] Issue 7618 - the library had seg fault when it tried to shrink the size of compound data type through H5Tset_size immediately after the type was created. I fixed it in this commit. I'm bringing the fix from the trunk. The only files being change are test/dtypes.c, src/H5T.c, src/H5Tconv.c, and release_docs/RELEASE.txt. All others are property changes.
Tested on jam, koala, and linew.
2011-11-15 17:45:06 -05:00
Allen Byrne
ec688f92b9 [svn-r21763] HDFFV-7798: CMake on linux. Corrected path component in fortran/src and hl/fortran/src and the install command. 2011-11-15 12:53:00 -05:00
Allen Byrne
4012699e7c [svn-r21762] HDFFV-7798: CMake on linux, building Static with zlib built internally. Corrected path component in EXTERNAL_ZLIB_LIBRARY macro. 2011-11-15 12:00:09 -05:00
Mike McGreevy
d92dd34cde [svn-r21760] Copy finished RELEASE.txt from the 1.8.8 branch
to 1.8's HISTORY-1_8.txt file.
2011-11-15 11:01:05 -05:00
Allen Byrne
e448a4673b [svn-r21754] Change Nightly Start Time to match CDash and test kickoff time. 2011-11-14 11:37:41 -05:00
Mike McGreevy
d72085e200 [svn-r21752] Purpose:
Revert part of r21421 (F2003 merge to 1.8) which unintentionally
    removed a line from configure.in that sets FC=no when fortran
    is not enabled. This ensures that configure doesn't run
    compiler checks on a fortran compiler when it won't be used.
    (and can cause failures in configure when no fortran compiler is
    present as well as issues with the resulting src/Makefile when
    building DLLs on Cygwin)

Tested:

    h5committest; manually on jam & bangan (Cygwin).
2011-11-14 10:24:19 -05:00
Scot Breitenfeld
c4a83163d3 [svn-r21731] Brought revisions 21719 and 21720 from the trunk, fixes test failures on Mac
and race condition with make check -j#.

Tested: jam (gnu)
2011-11-07 23:13:06 -05:00
Albert Cheng
f7797d437a [svn-r21726] Bug HDFFV-2511: h5repack: failed in -q32 AIX due to memory
Description: removed the temporary patch of
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
and similaryly for RUNPARALLEL since the h5repack test failure
was fixed and this patch is no longer needed.  (IBM also advices
not to hardset MAXDATA if possible.)

Tested: NASA G-ADA AIX machine, both 32 and 64 bits modes.
(No parallel test because not able to build or run MPI executables yet.)
2011-11-07 08:50:54 -05:00
Dana Robinson
9ca088e423 [svn-r21723] Pushed trunk rev 21722 to the 1.8 branch. This reverts linking to the bsd-compat library on linux. Tested on jam, more extensive testing was performed on the trunk branch. 2011-11-06 16:19:14 -05:00
Raymond Lu
92e5075da8 [svn-r21718] Issue 7618 - the library had seg fault when it tried to shrink the size of compound data type through H5Tset_size immedia
tely after the type was created.  I'm bringing the fix from the trunk that I committed a while ago. My real changes are in test/dtypes.c, src/H5T.c, and release_docs/RELEASE.txt.  All other changes are property changes.

Tested on jam.  But I tested the same fix in the trunk on jam, koala, and linew.
2011-11-04 17:58:49 -05:00
Allen Byrne
141383fb26 [svn-r21717] Update cmake configuration
Update cmake to generate source folders in VS
Brought parallel changes from trunk

Tested: local linux
2011-11-04 13:45:41 -05:00
Raymond Lu
9417e52b8b [svn-r21708] I made more update for the test commands.
Not tested yet.
2011-11-03 15:28:35 -05:00
Raymond Lu
c847300a55 [svn-r21706] I changed the some file names from "textXXXX.conf" to "txtXXXX.conf".
Not tested yet.
2011-11-03 14:43:28 -05:00
Raymond Lu
da5df200f8 [svn-r21703] I corrected a capital option with a quotation.
Not tested yet.
2011-11-02 14:01:29 -05:00
Raymond Lu
aa76c036c3 [svn-r21701] I changed the file name tnofilename-with-packed-bits.ddl to tnofilename.ddl according to h5dump script file for C.
Not tested yet.
2011-11-01 17:29:43 -05:00
Raymond Lu
27184d44e2 [svn-r21696] I took out the space_overflow.c test because it creates data file.
Tested on VMS.
2011-11-01 12:57:20 -05:00
Scot Breitenfeld
bae45fe9e8 [svn-r21694] Brought r21689 into the tunk, fixes type in H5Eset_error_c.
Tested: jam (gfortran)
2011-10-31 09:51:34 -05:00
Scot Breitenfeld
fdade1b4c4 [svn-r21693] Brought r21691,r21690 to the branch, which:
Removed not needed test in fortranlib_test_F03.f90 and 
made fortranlib_test_1_8.f90 standard compliant.

tested: jam (gnu compiler)
2011-10-31 09:43:09 -05:00
Raymond Lu
dec578ae2a [svn-r21682] I took out space_overflow.c because it's only for creating a data file.
Not tested yet.
2011-10-28 12:06:47 -05:00
Raymond Lu
8607115979 [svn-r21677] I commented out three test cases where the format of the printed output was slightly different from the standard. Allen said he refactored the code for the tools. It may fix this problem after he commits the change.
Not tested yet.
2011-10-26 10:01:20 -05:00
Quincey Koziol
44b776141b [svn-r21676] Description:
Don't check dataset storage size for compressed datasets with region
reference datatypes.  (The address of the region reference type in the file
varies and affects the compressed size)

Tested on:
    Mac OS X/32 10.7.2 (amazon) w/debug & production + check-vfd
2011-10-26 09:58:36 -05:00
Jonathan Kim
1fde26b7a5 [svn-r21660] Purpose:
HDFFV-7770 - h5diff segmentation fault on JPSS files

Description:
    Fixed segfault over non-comparable attribute with different dimention or
    rank, along with '-c' option to display details.
    Merged from HDF5 trunk r21658.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows, Cmake
2011-10-24 17:24:20 -05:00
Raymond Lu
c7fe0c67ad [svn-r21656] I updated H5_SIZEOF_OFF_T from 4 to 8.
Tested on VMS.
2011-10-24 14:35:12 -05:00
Neil Fortner
f22b7d2e12 [svn-r21646] Port r21603 to 1.8 branch
Purpose: Add generic skip list implementation

Description:
Added new H5SL_TYPE_GENERIC skip list type, which uses void *'s as keys and a
client-supplied callback for key comparison.  This was added to support the
upcoming "merge named datatype" feature for H5Ocopy, but may be used in other
places as well.  Also added testing.

Also fixed a potential bug with the H5SL_TYPE_OBJ implementation, and added
testing for that.

Tested: jam, koala, heiwa (h5committest), durandal
2011-10-21 14:51:32 -05:00
Allen Byrne
fb1937371d [svn-r21642] remove spurious " from batch file 2011-10-21 11:47:28 -05:00
Mike McGreevy
ddac2349c0 [svn-r21639] - Clear out RELEASE.txt in preparation for 1.8.9 release changes.
- Update version references in RELEASE.txt
- Add reminder to HISTORY-1_8.txt that it needs the completed
  RELEASE.txt from the 1.8.8 branch when it's done.
2011-10-21 11:07:25 -05:00
Mike McGreevy
e52623c9fe [svn-r21638] Update 1.8 branch version to 1.8.9-snap0 2011-10-21 10:55:40 -05:00
Allen Byrne
15fc1f3a72 [svn-r21634] sync legacy batch file to match unix test script 2011-10-21 10:43:05 -05:00
Scot Breitenfeld
5d53e30f58 [svn-r21633] Description: changed comments in h5offsetof, no source changes. 2011-10-20 19:06:31 -05:00
Scot Breitenfeld
3691889dbf [svn-r21632] Description:
Removed line:

$(RM) $(DESTDIR)$(includedir)/H5f90i*.h

These *.h files are needed for HL_NPOESS and should not be removed when make clean is specified. 

The Daily Test installs the file using the deploy script, but then
runs make clean which removes the file, so the files are not there when we try to compile HL_NPOESS
causing an error.
2011-10-20 18:43:38 -05:00
Neil Fortner
c36a79fd91 [svn-r21631] Port revisions 21629 and 21630 to 1.8 branch
Purpose: Update fix committed in r21556

Description:
An old patch was mistakenly committed in r21556.  Replaced this fix with the
latest.

Tested: jam, koala, heiwa (h5committest)
2011-10-20 17:20:00 -05:00
Allen Byrne
fd619754ac [svn-r21627] update legacy test script with new names of files 2011-10-20 15:17:06 -05:00
Allen Byrne
7b0b6f9494 [svn-r21625] remove h5dump file 2011-10-20 14:13:22 -05:00
Allen Byrne
66752c48b5 [svn-r21623] Update LFS test
Tested: local linux
2011-10-20 14:09:19 -05:00
Allen Byrne
705d92a796 [svn-r21622] Update LFS test
Tested: local linux
2011-10-20 14:08:42 -05:00
Allen Byrne
b15ebb546e [svn-r21621] Add H5_ff_F90.f90 file to legacy fortran projects
Replace contents of tnofilename.ddl with contents from tnofilename-with-packed-bits.ddl and use tnofilename.ddl in h5dump test scripts

Test local linux: cmake
2011-10-20 13:50:19 -05:00
Scot Breitenfeld
cbed39d416 [svn-r21620] Description:
Changed the API to pass type(h5o_info_t) instead of a C pointer to the derived type.  
  
Tested:  
  
jam (gfortran and pgi)
2011-10-20 13:16:23 -05:00
Quincey Koziol
13bc2e73cf [svn-r21618] Description:
Bring r21617 from trunk to 1.8 branch:

    Recalculate the size of destination attribute message when the source and
destination versions are different during an object copy operation.
(Jira: HDFF-7718)

Tested on: 
    Mac OS X/32 10.7.2 (amazon) w/debug
    (h5committested on trunk)
2011-10-20 12:13:11 -05:00
Scot Breitenfeld
d91a3fda2a [svn-r21616] Updates to Fortran 2003 constants. 2011-10-19 22:07:37 -05:00
Scot Breitenfeld
216cbdcd70 [svn-r21614] Added new fortran, HL, fortran HL changes. 2011-10-19 21:07:43 -05:00
Raymond Lu
c7342f6262 [svn-r21612] I put an item about the H5LTdtype_to_text bug (7701). 2011-10-19 16:13:07 -05:00
Neil Fortner
a02b04d685 [svn-r21611] Port r21610 to 1.8 branch
Purpose: Fix bug 7776

Description:
When H5Ocopy failed due to attempting to expand an invalid reference in an
attribute (or at any point after the destination object header was inserted
into the cache), it failed to clean up correctly.  Modified
H5O_copy_header_real to keep track of whether the object header was inserted
and take appropriate action on failure.

Tested: fedora (too minor for full commit test)
2011-10-19 15:51:10 -05:00
Allen Byrne
65f2e5de3d [svn-r21609] Correct name of fortran file in project file 2011-10-19 15:22:31 -05:00
Allen Byrne
d9ce505d54 [svn-r21608] 1.8 needs file copied because it does not use srcdir function 2011-10-19 13:03:26 -05:00
Raymond Lu
8522c47e9e [svn-r21607] I updated the test cases in this script file.
Tested on VMS.
2011-10-19 11:54:00 -05:00
Allen Byrne
985ec99dbe [svn-r21606] Correct name of fortran file in project file 2011-10-19 08:51:50 -05:00
Neil Fortner
8f0218e3f5 [svn-r21605] Back out r21604 (wait for code freeze to be lifted) 2011-10-18 16:37:31 -05:00
Neil Fortner
b02f6c2171 [svn-r21604] Port r21603 to 1.8 branch
Purpose: Add generic skip list implementation

Description:
Added new H5SL_TYPE_GENERIC skip list type, which uses void *'s as keys and a
client-supplied callback for key comparison.  This was added to support the
upcoming "merge named datatype" feature for H5Ocopy, but may be used in other
places as well.  Also added testing.

Also fixed a potential bug with the H5SL_TYPE_OBJ implementation, and added
testing for that.

Tested: jam, koala, heiwa (h5committest), durandal
2011-10-18 16:29:13 -05:00
Raymond Lu
fa25014d40 [svn-r21602] I updated the test cases.
Tested on VMS.
2011-10-18 15:51:17 -05:00
Allen Byrne
2e71e157b4 [svn-r21600] add new files to legacy projects 2011-10-18 15:19:43 -05:00
Allen Byrne
62742fcb8e [svn-r21599] add new files to legacy projects 2011-10-18 15:09:31 -05:00
Raymond Lu
548dd24cc0 [svn-r21598] I corrected a few commands for the test cases.
Tested on VMS.
2011-10-18 13:28:17 -05:00
Raymond Lu
cd4707838b [svn-r21595] Issue 7701 - fix for H5LTdtype_to_text. I made two corrections: 1. I changed all snprintf to HDsnprintf; 2. I corrected all wrong length passed to snprintf which cause Mac machines to fail.
Tested on jam, koala, linew, Windows, and Apple.
2011-10-17 16:52:19 -05:00
Allen Byrne
299fadaefd [svn-r21594] Add CMake option to disable packaging component: needed to avoid configuration warning when using Visual Studio Express versions on windows.
Tested: Windows
2011-10-17 14:55:57 -05:00
Mike McGreevy
0bab223bcc [svn-r21592] Purpose:
Minor cleanup of RELEASE.txt:
  - formatting
  - update platforms tested & known issues as of 1.8.7 release
    (i.e. changes made to 1_8_7's RELEASE.txt never merged to 1_8).
    (these will further be updated prior to 1.8.8 release).

Tested:
 - release doc only, none needed.
2011-10-17 11:51:10 -05:00
HDF Tester
c48b71ce91 [svn-r21588] Snapshot version 1.8 release 8 (snap18) 2011-10-16 19:22:26 -05:00
Scot Breitenfeld
f4fb04d6b3 [svn-r21585] Description: Fixed robodoc headers (functions and derived types), updated the definition of derived types from the original F2003 merge.
Tested: jam (intel, gnu, pgi)
2011-10-14 16:55:33 -05:00
Elena Pourmal
c43f28230d [svn-r21576] Maintenance: Added F2003 info 2011-10-14 15:09:17 -05:00
Scot Breitenfeld
9bdbffe11e [svn-r21574] Description:
merged r21434 from trunk,
2011-10-14 14:54:46 -05:00
Raymond Lu
dab6812ed6 [svn-r21569] Revision of the fix for Issue 7701 (H5LTdtype_to_text): I revised the code per Quincey's comments. (I changed the 1.8 branch first. I'm aware of that.)
Tested on jam, linew, and koala.
2011-10-14 13:59:53 -05:00
Scot Breitenfeld
76e215174a [svn-r21568] Description:
Merged robodoc headers from trunk in the 1.8 branch, remove functions that should have not been merged into the 1.8 branch, removed the robodoc docomentation.

Tested: jam (gnu, intel, pgi)
2011-10-14 13:39:47 -05:00
Dana Robinson
b92a7abb34 [svn-r21567] Updated RELEASE.txt 2011-10-14 13:29:39 -05:00
Quincey Koziol
fe32509673 [svn-r21566] Description:
Bring r21561 from trunk back to 1.8 branch:

    Correct error in loading local heap prefix & data block from the file.
Sometimes the local heap's prefix could be loaded before the data block (e.g.
using H5Oget_info), but then when the data block was loaded later, the free
list information would get lost, causing the heap's size to grow larger than
necessary.  This is Jira bug #HDFFV-7767

Tested on:
    Mac OS X/32 10.7.2 (amazon) w/debug
    (h5committest coming up)
2011-10-14 12:42:22 -05:00
Vailin Choi
3feb0d880d [svn-r21565] Update RELEASE.txt for the fix checked in yesterday for HDFFV-7640. 2011-10-14 11:24:51 -05:00
Neil Fortner
41052158c7 [svn-r21563] Improve testing for H5Pset_libver_bounds
Add testing for H5F_LIBVER_18

Tested: durandal (too minor for full h5committest)
2011-10-14 10:29:55 -05:00
Scot Breitenfeld
af1cffe28e [svn-r21560] Description:
Added ex_ds1.f90 example.
2011-10-14 00:12:39 -05:00
Scot Breitenfeld
7fbd4ccbb5 [svn-r21559] Description:
Merged r21525 from trunk; removes hard coded compatability checks for F2003 compilers, replaced with a test program for features.

Tested: jam (gnu)
2011-10-14 00:05:28 -05:00
Scot Breitenfeld
3b62414fdf [svn-r21558] Description:
Merge example ds program from trunk into 1.8 branch. r21006 and r21249.

Tested (jam, gfortran)
2011-10-13 23:46:49 -05:00
Neil Fortner
363988bd77 [svn-r21557] Port r21556 to 1.8 branch
Purpose: Fix bug in H5Ocopy

Description:
H5Ocopy could get confused when copying a named datatype containing an
attribute which used that named datatype as its datatype.  This happened
because H5Ocopy would recurse into the attribute's datatype before the object
the attribute was in was fully copied (i.e. before the "post-copy" pass).
Modified H5Ocopy to avoid recursing before the post-copy step in this case.
Required many changes, including to how non-committed shared messages are
copied.

Tested: jam, koala, heiwa (h5committest); durandal
2011-10-13 19:03:09 -05:00
Vailin Choi
682a4f2b5d [svn-r21555] The first part fix for bug HDFFV-7640: does not need to do H5O_move_msgs_forward() when writing attributes. h5committested.
Tests are checked into the performance suite.
2011-10-13 17:41:56 -05:00
Elena Pourmal
309f0b543b [svn-r21554] Maintenance: Added entry for the Fortran DS wrappers 2011-10-13 16:30:37 -05:00
Elena Pourmal
b0dceeb6a9 [svn-r21551] Maintenance: Addressed HDFFV-915 - investigate if H5open and H5close are needed in the corresponding
Fortran wrappers.

Solutions:   The calls were not needed and were removed from the C stubs h5open_c and h5close_c for the correspnding 
             Fortran subroutines h5open_f and h5close_f.

Platforms tested: jam with gcc and gfortran, PGI and Intel
                  koala with PGI and Intel
                  linew with the standard Sun compilers
2011-10-13 15:25:17 -05:00
Raymond Lu
6f50b71819 [svn-r21550] I updated many test cases in check_h5dump.com. There are some failures but I want to check in first. Then I can fix them during the release test.
Tested on VMS.
2011-10-13 13:25:18 -05:00
Dana Robinson
301a24eb32 [svn-r21548] Removed an errant Windows STDIO reference in the CMake code. 2011-10-13 12:05:50 -05:00
Dana Robinson
d05716bd19 [svn-r21547] Updated svnprops on many files, mainly for EOL issues.
No testing since there are no code changes.
2011-10-13 11:53:03 -05:00
Dana Robinson
d3b93413f7 [svn-r21545] Reverts 21521 (deep string copy of log file name). This string is copied correctly deep in the H5P code. Tested on local linux (trivial change). 2011-10-13 11:11:21 -05:00
Quincey Koziol
17d435522b [svn-r21533] Description:
Bring r21442 and r21529 from trunk to 1.8 branch: Add new API routines
for querying if collective raw data I/O was actually performed collectively.

Tested:
    Linux/32 2.6 (jam)
    (h5committested on trunk)
2011-10-12 16:50:59 -05:00
Dana Robinson
81a9c71d86 [svn-r21532] Removed dead code.
Tested on Windows.
2011-10-12 16:37:50 -05:00
Dana Robinson
b80f663629 [svn-r21531] Merge of 21501 and 21502 from trunk:
Note that this differs slightly from the trunk code since the VFL API won't be
changed until 1.10.  In the 1.8 branch, the term() function is public and this
required some #defines for the Windows VFD.

21501:

- Propagated Windows VFD tweaks to SEC2 and log VFDs.

- Created typedefs and #defines to make POSIX I/O type-safe on Windows and true POSIX platforms.

- Added pre-checks and removed post-checks for POSIX I/O sizes.  When the number of bytes to be sent exceeds the maximum return value, the operation is split into smaller subsets.

- General code tidying and cleanup.


21502:

- Removed Windows VFD code.  H5Pset_fapl_windows() actually sets the SEC2 driver, though it will still report H5FD_WINDOWS.
2011-10-12 16:25:51 -05:00
Dana Robinson
3aa1b1d93c [svn-r21528] Merge of 21517 and 21520 from trunk:
- Added checks for clock_gettime() to configure.in.

Tested on Linux, FreeBSD, Solaris, MacOSX to ensure they are found correctly and everything builds.  No code currently reliess on clock_gettime().

- Brought Windows and VMS H5pubconf.h files into sync with the Linux file.  Some data sizes were corrected in both VMS and Windows.

Tested on Windows.  Ray will test on VMS when this is pushed to the 1.8.x branch.
2011-10-12 11:46:15 -05:00
Allen Byrne
21b235a43a [svn-r21527] Updated cygwin versions 2011-10-12 11:27:18 -05:00
Dana Robinson
0e0b6fc5ab [svn-r21524] Reverts 20920 (HDFFV-7579 fix) (this is 20913/21 from the trunk)
This change reverts the HDFFV-7579 fix while we more carefully consider enum conversions as a part of the h5compare work.

Tested on jam, Windows 7 and linew.
2011-10-11 17:09:25 -05:00
Dana Robinson
268d79925b [svn-r21522] - H5MM_strdup() and H5MM_xstrdup() comments changed to correctly reflect how they respond to an input NULL string.
- H5MM_xstrdup() now reports memory allocation errors via the HDF5 error stack (was previously an assert).

Tested on jam (simple change).
2011-10-11 15:33:13 -05:00
Dana Robinson
55ae6dfd1a [svn-r21521] Merge of trunk 21497
Changed H5Pset_fapl_log() to deep copy the log file name instead of copying the pointer.

Tested on jam (simple change).
2011-10-11 15:24:58 -05:00
Dana Robinson
62312e26ff [svn-r21519] Merge of 21518 from trunk
- Added definition for HDfseek() to be used later.

- Added comment about requiring _O_BINARY being set on Windows to avoid CR-LF issues.

Tested on Windows (minor changes).
2011-10-11 14:36:47 -05:00
Allen Byrne
3fa119253b [svn-r21513] Add HDprefix and change when pio_timer.h is included
Tested
2011-10-11 08:49:40 -05:00
Allen Byrne
6cef07c21a [svn-r21512] Synchronize macros for naming with other libraries 2011-10-11 08:42:48 -05:00
Mark Evans
a8558655b7 [svn-r21503] Edited for language. Did not edit "Known Problems"
or "Platforms Tested" sections.
2011-10-10 15:06:25 -05:00
HDF Tester
de40ea2168 [svn-r21500] Snapshot version 1.8 release 8 (snap17) 2011-10-09 19:21:48 -05:00
Allen Byrne
9b9075b651 [svn-r21494] Add new mach/mach_time.h header check. 2011-10-07 16:46:31 -05:00
Albert Cheng
49887b71b2 [svn-r21488] Bug:
h5dump was used in test script but was not invoked by RUNSERIAL.
THis does not work in batch machines like Blue Gene in LLNL.

Solution:
Added $RUNSERIAL to invoke $H5DUMP_BIN.

Tested:
LLNL BlueGene (udawn)
2011-10-07 15:14:46 -05:00
Allen Byrne
23ecc115b8 [svn-r21482] Add option to enable windows stdio 2011-10-06 14:26:06 -05:00
Mike McGreevy
d3b7ce4689 [svn-r21479] Merge revision 21101 from trunk to 1.8 branch:
HDFFV-7639

Purpose:

    Remove H5_MPI_SPECIAL_COLLECTIVE_IO_WORKS and
    H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS #defines from source.

Description:

    Two advanced parallel functionalities, special collective IO and
    complex derived datatypes, are not supported by older
    implementations of mpi, and thus our code limits the use of these
    features with #ifdefs and has checks in configure to set them (or
    not). Unfortunately, configure can't actually run a parallel check
    to see if these features are working (nor not) so it resorts to
    looking in the config files where they are explicity enabled or
    disabled based on versions of mpi, sytems being built on, or for
    no documented reason at all (i.e. just set to on or off as some
    'default'). Overriding these settings is easy if need be, provided
    it is known that it needs to be done to get improved performance,
    and oftentimes it is not.

    Most new MPI implementations successfully handle the functionality
    requested when these #defines are set, and many of the "turn these
    features off" cases in the config files are for old (> 5 years)
    versions of MPI and retired systems (such as NCSA's tungsten).

    Therefore, the decision has been made to remove the support for
    these old versions of MPI and systems that cannot handle these
    behaviors. The #ifdefs and supporting setup in the config/ files
    and configure script has been removed, and the code executed when
    these options were not set removed from the source.

    In passing, this commit also cleans up some whitespace issues in
    both t_mpi.c and H5Dmpio.c. Furthermore, in t_mpi.c, the special
    collective IO test was not getting regularly run due to it being
    written to work only with four processes (we regularly test with
    six, previously with three), and thus it failed when actually run
    due to an out of bounds data buffer assignment. It has been
    modified to run at any number of processes greater than four, and
    the memory problem has been fixed so the test passes.

Tested:

    Jam, h5committest, Ember
2011-10-05 17:00:35 -05:00
Albert Cheng
3389fa88ee [svn-r21470] Updated with the change of Windows platform switched back to use SEC2 as the
default VFD.
2011-10-04 12:51:04 -05:00
Elena Pourmal
06a986d460 [svn-r21468] Maintenance: Modified command file according new source structure created to support F90/F2003
Currently VMS supports F90 only.
2011-10-04 12:27:36 -05:00
Elena Pourmal
9af4c15d83 [svn-r21466] Maintenance: To support F2003 features we renamed some files. Brought the change to VMS.
Platforms tested: VMS server.
2011-10-04 11:59:42 -05:00
Albert Cheng
25ceee7392 [svn-r21460] Problem:
Some machines, like LLNL udawn, a blue-gene machine, requires all executables,
be launched by some command like mpirun.

Solution:
Added $RUNSERIAL to launch the executable.

Tested: LLNL uDawn.
2011-10-04 03:37:34 -05:00
Albert Cheng
f8e83e11c6 [svn-r21458] Problem:
Function TOOLTEST_OUTPUT does not filter the extra system messages sent to
stdout or stderr, thus causing output mismatched with expected output.

Solution:
Added STDOUT_FILTER and STDERR_FILTER to filter them out.

Tested:
Tested LLNL uDawn (Blue-Gene cluster), for serial mode only.
2011-10-04 03:16:21 -05:00
HDF Tester
319ded76cf [svn-r21444] Snapshot version 1.8 release 8 (snap16) 2011-10-02 19:32:40 -05:00
Raymond Lu
5c7353d2cd [svn-r21439] Issue 7701 - H5LTdtype_to_text had memory corruption while being querried about the size of the buffer needed. The problem happened when the internal buffer is reallocated, the new address got lost. I revised the code to pass the new address as the return value of functions. I also added two new test cases.
This commit only includes hl/test/test_lite.c, hl/src/H5LT.c, hl/src/H5LTprivate.h.  All others are property changes of the merge from the trunk.  

Tested on jam, linew, and koala.
2011-09-30 15:24:50 -05:00
Allen Byrne
f74a23c836 [svn-r21438] Added listing of all cmake options available 2011-09-30 13:21:50 -05:00
Allen Byrne
90429e924d [svn-r21430] Add F2003 IF-ENDIF protection blocks around _F03 file processing 2011-09-28 08:35:11 -05:00
Allen Byrne
0ae77e5f0c [svn-r21426] Add 2003 fortran to settings text 2011-09-27 10:53:19 -05:00
Allen Byrne
c6af94c8ed [svn-r21423] Add 2003 fortran to cmake build/configure
Tested: local linux
2011-09-27 09:18:46 -05:00
Scot Breitenfeld
4af3cd2b7a [svn-r21421] Merged the Fortran 2003 changes from the trunk into the 1.8 branch, used:
svn merge -r 20506:21414 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Tested: jam (gnu, intel, pgi compilers)

Also merged effected non-Fortran files: 
svn merge -r21247:r21248 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/src/libhdf5.settings.in
2011-09-27 00:02:38 -05:00
Allen Byrne
a07004c825 [svn-r21418] Change windows default driver to SEC2
Add option to allow -fPIC
2011-09-26 09:04:15 -05:00
HDF Tester
3c51dc92f4 [svn-r21416] Snapshot version 1.8 release 8 (snap15) 2011-09-25 19:25:48 -05:00
Jonathan Kim
f7ba14fa29 [svn-r21414] Description:
Skip parallel diff test "-c non_comparables1.h5 non_comparables2.h5" due
    to hanging issue occurring on koala (linux64-LE) intermittently.
    Plan to put back when resolved.
    The test was related to J7693.
    Merged from HDF5 trunk r21413.

Tested:
 jam (linux32-LE), koala (linux64-LE)
2011-09-23 16:47:32 -05:00
Jonathan Kim
8f8fb620d8 [svn-r21404] Purpose:
HDFFV-7693 - h5diff produces different behavior between versions: 1.8.3 and 1.8.6

Description: 
    There were two issues on this. 
    One was not displaying all the comparable objects if non-comparable 
    object/attribute exist and compared before comparables ones. This issue
    occurred after 1.8.4 release. This is the issue from user.
    The other issue was not displaying all the comparable attributes, 
    if non-comparable object/attribute exist and compared ahead. This issue 
    were exist even before 1.8.4 release. So it's possible some attribute 
    comparison may have not displayed correctly in the past, if non-comparable 
    data were exist in common object.
    Fixed h5diff to display all the comparable object and attribute regardless 
    of non-comparables. 

    Merged from HDF5 trunk r21396 and r21397.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam, Windows)
2011-09-21 10:20:20 -05:00
Jonathan Kim
e50e2a5974 [svn-r21402] Update MANIFEST for a new file from previous checkin (HDFFV-5932) 2011-09-20 12:09:53 -05:00
Jonathan Kim
3f1489ee7b [svn-r21400] Purpose:
HDFFV-5932 - h5repack breaks files with dimension scales

Description:
    - Fixed h5repack to update values of references(object and region) of 
      attributes in h5repack for 1) references, 2) ARRAY of references, 
      3) VLEN of references, and 4) COMPOUND of references.
    - Merged from HDF5 trunk 21393, 21382, 21386, 21389. (support Peter)

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE)
2011-09-20 11:34:01 -05:00
HDF Tester
563722468c [svn-r21399] Snapshot version 1.8 release 8 (snap14) 2011-09-18 19:49:38 -05:00
John Mainzer
38aa51077a [svn-r21394] Updated tuning of fraction of tests skipped in t_shapesame.c as a function of
express test level to reflect results of testing with Ray.

Tested parallel on jam -- no further testing as the change was very minor.
2011-09-14 17:43:06 -05:00
John Mainzer
98e7f67b00 [svn-r21380]
Ported shape same test express test mods from trunk to 1.8 branch.

This was mostly a matter of copying testpar/t_shapesame.c from trunk
to the 1.8 branch, as the root versions of the files were almost 
identical.

Tested parallel on Jam only, as changes have been well tested on the 
trunk.
2011-09-13 13:29:58 -05:00
Raymond Lu
9e56bed5e0 [svn-r21379] The tools used "%hhd" to print signed char. But VMS doesn't know it. So I used H5_VMS to have a different way ("%hd") to print it.
Tested on jam and VMS.
2011-09-13 10:55:19 -05:00
Allen Byrne
9115bab9e3 [svn-r21376] JIRA-HDFFV-2748: Relplace WIN32 macros in source. New H5_HAVE_WIN32_API and H5_HAVE_VISUAL_STUDIO defines only need to be set on windows. Autotools configure is not affected.
Trunk passed for a week and cmake branch has been in place > 3 weeks.

Tested: local linux
2011-09-12 09:02:44 -05:00
HDF Tester
ee039a03b9 [svn-r21375] Snapshot version 1.8 release 8 (snap13) 2011-09-11 19:25:25 -05:00
Jonathan Kim
36ea4e8553 [svn-r21368] Purpose:
HDFFV-7712 - h5diff: segfault over combinations of complex container types (compound, array, vlen)

Description:
    - Fixed segfault over dataset with container types (array,lven) with multiple nested compound types. (ex: compound->array->compound, compound->vlen->compound)
    - Merged from HDF5 trunk r21358.

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
2011-09-06 15:26:08 -05:00
Allen Byrne
144b129492 [svn-r21365] Related files to files from HDF5-33 review - all changes ran correctly in trunk. Changes have been tested in cmake branch.
#ifdef around include <unistd.h> and <time.h>

Tested: local linux
2011-09-06 09:25:19 -05:00
Allen Byrne
a14f6882d4 [svn-r21364] Related files to files from HDF5-33 review - all changes ran correctly in trunk. Changes have been tested in cmake branch.
t_cache.c - define needed for windows
t_posix_compliant.c - #ifdef around include <unistd.h>
t_shapesame.c - HD prefix needed for stat function

Tested: local linux
2011-09-06 09:20:58 -05:00
Allen Byrne
b3bc8132c5 [svn-r21363] files from HDF5-33 review - all changes ran correctly in trunk. Changes have been tested in cmake branch.
Tested: local linux
2011-09-06 09:16:50 -05:00
HDF Tester
12e6abe9f4 [svn-r21361] Snapshot version 1.8 release 8 (snap12) 2011-09-04 19:26:20 -05:00
Raymond Lu
3cf78c8f18 [svn-r21356] Issue 7674 - CLANG compiler complained about the line (about 800):
tempint = (tempint >> packed_data_offset) & packed_data_mask;
The right shift may cause undefined behavior if PACKED_DATA_OFFSET is 
32-bit or more. For every kind of native integers, I changed the code 
to make it zero if PACKED_DATA_OFFSET is greater than or equal to the
size of integer.

Tested on jam and on MacOS with CLANG compiler.
2011-09-02 10:50:01 -05:00
Jonathan Kim
d47f033ad7 [svn-r21355] Purpose:
HDFFV-2511 - GMQS: h5repack: some tests failed in -q32 AIX

Description:
    - Need to be Merged from HDF5 trunk r21283 also, which was missed from previous checkin.
    - Previously Merged from HDF5 trunk r21265
    - Added macro to handle failure in H5Dread/write when memory allocation 
      failed inside the library. Add graceful error message when lack of
      memory error occurs from HDF5 lib. (XCAO)

Tested:
      jam (linux32-LE), koala (linux64-LE)
2011-09-02 10:06:01 -05:00
Allen Byrne
f805181423 [svn-r21349] Need PATH active by default during install for daily binary testing needs 2011-09-01 09:59:02 -05:00
Allen Byrne
7caccf6cd4 [svn-r21346] Need PATH active by default during install for daily binary testing needs 2011-09-01 09:54:52 -05:00
Jonathan Kim
b8b0b70945 [svn-r21344] Purpose:
HDFFV-2511 - GMQS: h5repack: some tests failed in -q32 AIX

Description:
    - Merged from HDF5 trunk r21265
    - Added macro to handle failure in H5Dread/write when memory allocation 
      failed inside the library (XCAO)

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE)
2011-08-31 15:56:05 -05:00
Raymond Lu
e3b66f853a [svn-r21343] Issue 7674 - clang compiler with -fcatch-undefined-behavior -ftrapv discovered several problems in the test suite. One of
them is in the INIT_INTEGER macro definition in dt_arith.c.  It complained about line 150 where it tried to subtract 1 from
the negative minimal value of "int", causing it to overflow (or underflow).  So I revised the code to avoid it.

Tested on jam and Mac OS Lion with CLANG compiler.  But I tested the same change for the trunk with h5committest.
2011-08-31 15:28:03 -05:00
Allen Byrne
3852fe2e10 [svn-r21341] Add check for target already exists 2011-08-31 11:04:48 -05:00
Allen Byrne
26f47610b1 [svn-r21337] Synchronize cmake files with tested commits from trunk, windows parallel diff 2011-08-30 11:51:32 -05:00
Allen Byrne
40480c8a72 [svn-r21336] Synchronize cmake files with tested commits from trunk 2011-08-30 11:39:25 -05:00
HDF Tester
014bea1c07 [svn-r21330] Snapshot version 1.8 release 8 (snap11) 2011-08-28 20:35:15 -05:00
Allen Byrne
d4ace0018b [svn-r21318] Correct zlib references, zlib svn no longer has src folder 2011-08-26 10:39:05 -05:00
Dana Robinson
a9039e329f [svn-r21314] Merge of 21302 (bin/trace bugfix) from trunk. Tested on jam (minor change). 2011-08-25 16:11:08 -05:00
Allen Byrne
a4c02d6350 [svn-r21311] add variables and commands to create libhdf5.settings. Add option to enable embedded strings. Add test to grep for string.
Trunk cycle passed and verified on windows.
2011-08-25 10:35:40 -05:00
Allen Byrne
8f0169c6e9 [svn-r21309] Add NSIS silent install option 2011-08-25 10:08:49 -05:00
Allen Byrne
f59d217a61 [svn-r21299] Add fortran library depends to test fortran library build 2011-08-23 09:27:52 -05:00
Allen Byrne
77baa075f4 [svn-r21297] Move all tests into DEPENDS structure so that clear-all-objects is first.
Also preface all tests with H5REPACK.
2011-08-23 08:50:31 -05:00
Jonathan Kim
3dc5350967 [svn-r21293] Moved Tools recent fixes (HDFFV-7649 and HDFFV-7659) descriptions to correct section. 2011-08-22 17:36:21 -05:00
Raymond Lu
667fb60c8f [svn-r21291] I moved 2 items from the new feature of parallel library category to the new feature of library category, which is an appropriate place.
No test is needed.
2011-08-22 17:13:32 -05:00
Raymond Lu
0e413d3264 [svn-r21287] I added a new file H5HGquery.c.
Not tested yet.
2011-08-22 16:07:13 -05:00
Raymond Lu
49c7637766 [svn-r21284] I added a new file H5Fcwfs.c.
Not tested yet.
2011-08-22 15:30:50 -05:00
Allen Byrne
7cd54f59fe [svn-r21281] Correct IF/ENDIF arguments 2011-08-22 10:43:02 -05:00
Albert Cheng
cd4b879202 [svn-r21278] Document fix for bug HDFFV-7641. 2011-08-22 09:50:20 -05:00
Albert Cheng
21610522dd [svn-r21277] Bug fix: HDFFV-7641
Corrected mismatched function name typo of h5pget_dxpl_mpio_c and h5pfill_value_defined_c.

Tested: Jam.
(Note: Allen has fixed trunk version of these already.)
2011-08-22 09:30:24 -05:00
HDF Tester
fb2f635696 [svn-r21276] Snapshot version 1.8 release 8 (snap10) 2011-08-21 20:37:29 -05:00
Jonathan Kim
00cdf98d00 [svn-r21264] Purpose:
Work for:
    HDFFV-7515 - GMQS: h5unjam - incorrect help page and should display when 
    no file is given.
    and
    HDFFV-5941 - h5jam: specifying a user block file with a proper HDF5 magic
    number will result in a corrupted HDF5 file.


Description:
    - Merged from HDF5 trunk r21236,
    - Revised command help pages of h5jam and h5unjam. The descriptions
      were not up to date and some were missing. (HDFFV-7515)
    - Fixed h5jam not to allow specifying an HDF5 formatted file as input 
      file for -u (user block file) option, because the original HDF5 file 
      will not be accessible if allows. (HDFFV-5941)

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake (jam, win)
2011-08-19 11:02:57 -05:00
Raymond Lu
85eabb54fe [svn-r21255] Issue 7674 - clang compiler reported an error with line 334:
temp_point->l = (unsigned long long)((i * 100 + j * 1000) * n);
The value can overflow the signed int before being converted to unsigned long long.  So I changed it to 
    temp_point->l = (unsigned long long)((i * 40 + j * 400) * n);
to keep it under the maximal value.

Tested on jam.  Simple change.
2011-08-18 15:52:42 -05:00
Raymond Lu
30bf1869ff [svn-r21250] I skipped two test cases (in two functions test_delete_obj_named and test_delete_obj_named_fileid) for VMS using the macro H5_CANNOT_OPEN_TWICE because they open the same file twice.
Tested on jam.
2011-08-18 10:58:40 -05:00
Jonathan Kim
caad58c541 [svn-r21239] Description:
Merged from HDF5 trunk r21237.
  Add test cases for HDFFV-7656 - "--delta=something" considers two NaN of the same type are different.
  The fix was added (r21105) before but test cases were incorrectly added and missing for cmake script.

Tested:
  jam (linux32-LE), koala (linux64-LE), tejeda (mac32-LE), cmake (jam)
2011-08-17 11:06:32 -05:00
HDF Tester
c6e1f166e3 [svn-r21226] Snapshot version 1.8 release 8 (snap9) 2011-08-14 19:38:01 -05:00
Raymond Lu
4dbc3b0478 [svn-r21221] The original code
i_mask = ~((unsigned)~0 << (precision[0] + offset[0])) & ((unsigned)~0 << offset[0]);
in line 3680 left shifted a 32-bit integer for 32-bit.  The result is undefined by C language.  A user
discovered it using clang compiler with -fcatch-undefined-behavior option (see Issue 7674
in Jira).  So I changed it in a funny way to avoid it.

Tested on jam.  But I tested the same change for the trunk with h5committest.
2011-08-12 10:12:13 -05:00
Allen Byrne
3a448c4f85 [svn-r21218] Corrected cmake installed library build indicator.
Added COMPILE_FLAGS for windows fortran builds
2011-08-10 16:17:22 -05:00
Allen Byrne
ec76ca98c1 [svn-r21217] Change CTEST_NAME to HDF5 - the project name
Implement InitOnceExecuteOnce - HDFFV-5929
Change command to generate output source files

Tested: local linux, windows
2011-08-10 16:14:21 -05:00
Allen Byrne
ada604b46f [svn-r21216] Alter clear-objects tests to mate with test that generates object file.
Tested: local linux
2011-08-10 16:08:38 -05:00
Allen Byrne
129660f376 [svn-r21215] Correct location of xml schema files. JIRA HDFFV-7688 2011-08-10 16:02:28 -05:00
Dana Robinson
02eaee2fc9 [svn-r21213] Merged comment commit from trunk: 21209 2011-08-10 15:54:43 -05:00
Allen Byrne
5f2eebe1b6 [svn-r21211] Correct location of xml schema files. JIRA HDFFV-7688 2011-08-10 15:51:44 -05:00
Allen Byrne
863e8872cb [svn-r21199] Change default fortran compiler to gfortran
Tested: cygwin
2011-08-09 13:56:50 -05:00
HDF Tester
9df7ffdaf0 [svn-r21186] Snapshot version 1.8 release 8 (snap8) 2011-08-07 19:24:15 -05:00
Scot Breitenfeld
08649f7c85 [svn-r21183] Description: unset the executable permissions for source files:
tstimage.f90 and tsttable.f90.

Tested: none.
2011-08-06 19:26:43 -05:00
Scot Breitenfeld
359ab12d1e [svn-r21182] Desciption: brought revision 21157 from the trunk to the branch. Fixes hl bug
HDFFV-7673 -- DS library segfaults when retrieveing length of the dimension label that was not set

Tested: jam (gnu 4.5 compiler)
2011-08-06 19:16:08 -05:00
Allen Byrne
7d47d81df0 [svn-r21165] Remove subfolder in library install
Tested: local linux
2011-08-01 14:36:58 -05:00
Allen Byrne
c71bc6f2bc [svn-r21164] Remove test library from export list
Tested: local linux
2011-08-01 14:26:22 -05:00
HDF Tester
b66c7fa6f4 [svn-r21159] Snapshot version 1.8 release 8 (snap7) 2011-07-31 19:21:54 -05:00
Quincey Koziol
f2ac83272f [svn-r21153] Description:
Bring r21152 from trunk to 1.8 branch:

	Further patches for Jira 7638, to ensure that H5D/Aget_type will
be attached to the correct top file.  (This change to the library should
reverted when Jira 7638 is finally finished)

Tested on:
       FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
	(h5committested on trunk)
2011-07-28 16:29:20 -05:00
Jonathan Kim
0069b4b190 [svn-r21151] Description:
Merged from HDF5 trunk r21105

  Fixed two bugs:    
    - h5repack: h5repack failed to copy dataset if the layout is changed from c
      hunked with unlimited dims to contiguous. (PC -- 2011/07/15)
    - h5diff: "--delta" option considers two NaN of the same type are different
      , which is wrong based on http://www.hdfgroup.org/HDF5/doc/RM/Tools.html#Tools-Diff.  (PC -- 2011/07/15)

Tested:
  jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-07-26 10:20:51 -05:00
HDF Tester
e71268c120 [svn-r21150] Snapshot version 1.8 release 8 (snap6) 2011-07-24 19:21:54 -05:00
Larry Knox
75bd77c88c [svn-r21147] Removed Absoft Fortran compiler from Platforms Tested section.
No test - doc file only.
2011-07-23 17:16:45 -05:00
Larry Knox
c325fe419c [svn-r21145] Updated RELEASE.txt
- removed g95 and f95 from Platforms tested section
- replaced amani with koala
- removed NCSA abe

No test - doc file only.
2011-07-23 16:55:28 -05:00
Albert Cheng
5ee7c00b6f [svn-r21144] No access to any AIX system any more.
Removed entries of AIX as tested platform.
2011-07-23 10:57:02 -05:00
Quincey Koziol
a456729c4b [svn-r21138] Description:
Bring r21137 from trunk to 1.8 branch:

        Tiny change to reduce code coupling w/H5F package.

Tested on:
        FreeBSD/32 8.2 (loyalty) w/debug
        (too minor to require h5committest)
2011-07-21 09:59:52 -05:00
Quincey Koziol
400e415d76 [svn-r21136] Description:
Bring r21135 from trunk to 1.8 branch:

	More code cleanups to reduce coupling with the H5F package.

Tested on:
       FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2011-07-21 09:57:40 -05:00
Quincey Koziol
a42f3b9dda [svn-r21134] Description:
Bring r21133 from trunk to 1.8 branch:

	More code cleanups to reduce coupling between packages that use the H5F
internal routines, but really aren't part of the H5F "package".

Tested on:
   FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
   FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
   Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
       w/C++ & FORTRAN, w/threadsafe, in debug mode
   Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
       w/C++ & FORTRAN, in production mode
   Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
       w/szip filter, w/threadsafe, in production mode
   Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-07-20 17:25:51 -05:00
Quincey Koziol
7beed66358 [svn-r21132] Description:
Bring r21131 from trunk to 1.8 branch:

        Disable some test code that isn't going to work correctly again until
we've completely resolved Jira issue #7638.

Tested on:
        FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
        Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
	(h5committested on trunk)
2011-07-20 16:42:50 -05:00
Quincey Koziol
cc3bdaa6d9 [svn-r21130] Description:
Bring r21126 from trunk to 1.8 branch:

	Clean up some compiler warnings, but mainly an interim checkin on the
path of reducing code coupling in the library by removing most of the places
which were accessing H5F package definitions.

Tested on:
   Mac OS X/32 10.6.8 (amazon) w/debug
   FreeBSD/32 8.2 (loyalty) w/debug
   FreeBSD/64 8.2 (freedom) w/debug
   Linux/32 2.6 (jam) w/debug
   Linux/64 2.6 (koala) w/debug
   Linux/64 2.6 (heiwa) w/debug
2011-07-19 21:25:35 -05:00
Quincey Koziol
c021348b26 [svn-r21129] Description:
Bring half of r21125 from trunk to 1.8 branch:

	Correct char arrays that were too small for strings defined.

Tested on:
	FreeBSD/32 8.2 (loyalty) w/debug
	(h5committested on trunk)
2011-07-19 21:00:36 -05:00
Quincey Koziol
5226ae6449 [svn-r21128] Description:
Bring r21127 from trunk to 1.8 branch:

	Correct to use correct FAPL, to fix error when running 'make check-vfd' 

Tested on:
	Linux/64 2.6 (koala) w/make check-vfd
	FreeBSD/32 8.2 (loyalty) w/debug
	(h5committested on trunk)
2011-07-19 20:54:36 -05:00
Quincey Koziol
99992db34d [svn-r21122] Description:
Bring r21120 from trunk to 1.8 branch:

    Check in ugly version of fix for Jira #7638.  I'm going to leave the issue
open in Jira and when the library has been refactored to use shared file
pointers (instead of top file pointers) for file operations, I'll uncomment
the check in src/H5Oshared.c

Tested on:
    Mac OS X/32 10.6.8 (amazon) w/debug
    (too small for h5committest)
2011-07-18 18:16:08 -05:00
Jonathan Kim
28b4826a81 [svn-r21114] Description:
Revert the previous makefile change as release snapshot test failed with
    MANIFEST check. Don't clean 'testfiles' dir via 'make distclean' for 
    the case of build&test in source dir. 
    In regular daily testings, we build&test in seperate dir from source dir, 
    so no issues occurred. 
    However for the release snapshot test, it seems that we build&test in 
    source dir.
    The previous change can remove testfiles in source dir if build&test is 
    done in source dir becasue currently the dir name 'testfiles' is same in
    source dir and test dir. 
    Other task (7602) may need to change to use different name for the 
    test directory, so 'make distclean' can do its job without 
    interrupting MANIFEST.
2011-07-18 11:43:18 -05:00
Allen Byrne
6c0f470d9d [svn-r21111] Renamed test files to more descriptive name
Tested: local linux
2011-07-18 10:37:26 -05:00
Allen Byrne
3686703e86 [svn-r21094] Add section on updating paths in VS2010 2011-07-12 13:13:25 -05:00
Allen Byrne
c80afb0cee [svn-r21092] Needed to remove the "echo Expected Results" section due to removal from reference files 2011-07-11 16:20:08 -05:00
Allen Byrne
c4dc054ac3 [svn-r21089] Add dependicies for tests to address issues when run in parallel 2011-07-11 10:17:42 -05:00
Allen Byrne
5cc6629296 [svn-r21087] Add new clear-objects tests to valgrind ignore list 2011-07-11 09:04:07 -05:00
Allen Byrne
a61e2737c2 [svn-r21081] Remove redundant EXPORTS symbol since CMake automatically creates it. 2011-07-08 14:29:36 -05:00
Allen Byrne
3005872e6b [svn-r21079] Update test script to remove generated test files per test rather then in one group. Discovered from public 1.8 CDash reports. 2011-07-08 11:45:35 -05:00
Jonathan Kim
a3bf96ec3c [svn-r21077] Purpose:
Work for HDFFV-7600 - GMQS: h5diff - argument options -d, -p and --use-system-epsilon should be mutually exclusive.

Description:
    Merge from HDF5 trunk r21072.
    Fixed h5diff to display instructive error message and exit with 1
    when mutually exclusive options (-d, -p and --use-system-epsilon)
    are used together.

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam)
2011-07-08 10:53:10 -05:00
Allen Byrne
415d817ce6 [svn-r21075] Remove incorrect -p option from test macro. Discovered from public 1.8 CDash reports 2011-07-08 09:36:41 -05:00
Allen Byrne
334cc1781f [svn-r21073] Removed reference to PackedBits option 2011-07-08 09:16:28 -05:00
Mike McGreevy
3827cdb997 [svn-r21067] Purpose:
Fix HDFFV-7522
"--enable-production=xxx will produce incorrect configure summary"

Description:
Fixed a typo in configure.in that resulted in "-enableval" being
displayed by the configure summary (and set in the CONFIG_MODE
makefile variable) if the production mode was set to anything other
than yes, no, or profile. The summary and CONFIG_MODE variable will
now be set to the value specified by the user.

Tested:
jam, h5committest
2011-07-05 11:29:16 -05:00
HDF Tester
dfc0da212e [svn-r21065] Snapshot version 1.8 release 8 (snap5) 2011-07-03 19:39:37 -05:00
Jonathan Kim
07f28d8071 [svn-r21064] Purpose:
Work for HDFFV-7602 - HDF5 command tools: Provide framework for reusable 
    test files among tools
Description:
    Merged from HDF5 trunk r21057
    Provide framework to share test files among tools for tools test.

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-07-01 17:22:58 -05:00
Allen Byrne
66a087c974 [svn-r21054] Synchronize windows project files with trunk 2011-06-30 10:45:28 -05:00
Allen Byrne
b546a94b83 [svn-r21048] Add configure check for endianess and adjust test depending on status of check.
Bring r21026 from trunk
2011-06-29 14:29:58 -05:00
Allen Byrne
ce70d7a018 [svn-r21046] Correct *-config.cmake files to set {pkg}_LIBRARIES variable.
Tested: windows
2011-06-29 13:35:29 -05:00
Mike McGreevy
d93ae26226 [svn-r21044] Purpose:
Fix HDFFV-7592

    "Remove PACKEDBITS option from autotools files"

Description:
    The code for h5dump's packed bits feature was
    conditionally compiled in via this option during its
    'beta' release in 1.8.5. Now that the feature is fully
    supported, h5dump has since been changed to always
    compile the packed bits code (having removed the #ifdef
    H5_HAVE_H5DUMP_PACKED_BITS checks), so this option in
    configure is no longer needed.

    This commit removes the --enable-h5dump-packed-bits
    configure option, including the help summary from
    './configure --help' and the libhdf5.settings output
    summary, the PACKED_BITS Makefile variable, and the
    definition of H5_HAVE_H5DUMP_PACKED_BITS define in
    appropriate pubconf header files (which has already
    been removed from use in source code as of r20722).

    Note that this option was never added to the trunk,
    thus this commit only need occur on the 1.8 branch.

Tested:
    - Configure output, help, & summary verified on jam
    - h5committested
2011-06-28 16:25:10 -05:00
Allen Byrne
d3a505abb7 [svn-r21038] Assign cmake config files to an install group 2011-06-27 16:24:21 -05:00
HDF Tester
10eb151dc0 [svn-r21035] Snapshot version 1.8 release 8 (snap4) 2011-06-26 19:18:12 -05:00
Raymond Lu
5a2f269c19 [svn-r21032] This is a follow-up checkin for r21015 (bug fix for Issue 2594). According to Quincey's suggestion, I moved the EOAs for individual files from H5FD_multi_fapl_t to H5FD_multi_t struct. It's a more proper place.
Tested on jam, koala, and heiwa.
2011-06-24 14:07:13 -05:00
Raymond Lu
6e55bfba8a [svn-r21024] Bug fix for Issue 2598 - In v1.6 library, there was EOA for the whole MULTI file saved in the
super block.  We took it out in v1.8 library because it's meaningless 
           for the MULTI file.  v1.8 library saves the EOA for the metadata file, 
           instead. But this caused some backward compatibility problem.
           v1.8 library couldn't open the file created with v1.6 library.  I 
           fixed the problem by checking the EOA value to detect the file
           created with v1.6 library. 

Tested on jam, koala, and linew.
2011-06-23 11:40:31 -05:00
Jonathan Kim
b5fbe95269 [svn-r21018] Purpose:
HDFFV-5878 - GMQS: h5dump - incorrect output format for array type with multiple elements in an index

Description:
    Merged from HDF5 trunk r21014.
    Fixed h5dump to display the first line of each element into correct 
    position for multiple dimention array type.
    Before this fix, the first line of each element in array were displayed 
    after the last line of previous element without moving to the next 
    line (+indentation)

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-06-22 16:22:33 -05:00
Scot Breitenfeld
cb05ffd2bb [svn-r21002] Description:
Brought r20958-20960 for DS fortran APIs from trunk.

Tested: jam (intel)
2011-06-19 23:06:57 -05:00
HDF Tester
039ccff536 [svn-r21001] Snapshot version 1.8 release 8 (snap3) 2011-06-19 19:18:24 -05:00
Allen Byrne
04d6c7cf97 [svn-r20998] Add lite2 dependency on lite1 example 2011-06-19 09:44:03 -05:00
Allen Byrne
965258b008 [svn-r20997] Get comment section did not add null terminator.
Tested: Debug windows
2011-06-19 09:43:45 -05:00
Raymond Lu
f453cc3397 [svn-r20992] I skipped the efc.c test for now because it opens the same file many times. VMS can't handle it. We need a solution in
the future.  Please see Issue 7620 in Jira about it.

Not tested yet.
2011-06-17 10:13:35 -05:00
Albert Cheng
b10041b738 [svn-r20985] Changed the release date format to yyyy-mm-dd from the previous date form.
Tested: Jam by running bin/release and eyeballed the new date format.
2011-06-15 17:54:20 -05:00
Raymond Lu
0ecd9627da [svn-r20983] I modified the pathname to [-.test] to be more accurate. The old one [...] had problem.
Tested on VMS.
2011-06-15 14:40:20 -05:00
Allen Byrne
49d3256cfe [svn-r20973] Updated windows and linux VMs tested section to match 1.8.7 release 2011-06-14 13:29:42 -05:00
Raymond Lu
8529373793 [svn-r20970] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. This is the follow-up commit. The previous way to construct the name of the existent data file wasn't very safe. It could be cleaned up if any user builds the library in the source directory.
Tested on jam - simple change.
2011-06-13 16:23:14 -05:00
Scot Breitenfeld
6d3d8cc89f [svn-r20969] Initialized errcode and type_sizeout to 0 and removed ';' in Fortran source lines.
Tested: jam (intel)
2011-06-12 22:47:56 -05:00
Scot Breitenfeld
5fde8ebdc2 [svn-r20957] Description: brought rev. 20937 from trunk, additional test for attaching and detaching DS.
Teste: jam (intel)
2011-06-09 21:34:35 -05:00
Raymond Lu
68688ba87e [svn-r20947] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. This is the follow-up commit. In my first checkin, I took out the line "H5Z_SZIP->encoder_present = SZ_encoder_enabled()" by
mistake.  It caused SZIP test to fail.  I'm puting it back now.

Tested on jam - simple change.
2011-06-07 14:22:03 -05:00
Raymond Lu
9a5da224ba [svn-r20945] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. This is the follow-up commit. In my previous commit, I changed HDsnprintf to snprintf, which caused trouble for Windows because the name is _snprintf instead. So I changed it back to HDsnprintf for properly defined macro. I also changed all fprintf to HDprintf to be consistent.
Tested on jam - simple change.
2011-06-07 11:00:22 -05:00
Allen Byrne
b43fb3e2f0 [svn-r20943] Add filter_error.h5 test file to list - used by error_test test. 2011-06-07 10:38:33 -05:00
Scot Breitenfeld
3d81ace5d2 [svn-r20938] Description: Reverted to revision 20904 to bring the file back in
line with the trunk which had a later revision of the same section
of code.
2011-06-06 23:36:06 -05:00
Raymond Lu
99030cf45c [svn-r20936] Issue 4278 - When reading data fails, the error message should say which filter isn't registered. The fix is simple. Most of the effort is on the test. The file with filter enabled is created in gen_filter.c. The verification of the error message is in test_error.c. The output is compared against the standard output.
Tested on jam, koala, and heiwa.
2011-06-06 17:15:24 -05:00
HDF Tester
becc4769b6 [svn-r20932] Snapshot version 1.8 release 8 (snap2) 2011-06-05 19:13:34 -05:00
Scot Breitenfeld
4dd38b9f5b [svn-r20931] Purpose: brought revisions 20870 and 20923 from the trunk
to fix bug HDFFV-7605

Tested: jam (intel compiler)
2011-06-05 16:09:49 -05:00
Jonathan Kim
9625666950 [svn-r20928] Purpose:
HDFFV-7607: h5ls - improve efficiency of test scripts - removing top 3 extra lines from expected output files 

Description:
    Merged from hdf5 trunk r20927.
    This is a subtask from 'HDFFV-7514 - gmqs: h5dump - improve effectiveness of testing scripts for handling expected output files'.
    This is prerequisite for 'HDFFV-7602 tools - upgrade tools' test scripts to share test files among tools, providing framework for test file re-usability.'

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-06-03 10:49:16 -05:00
HDF Tester
11cdf49515 [svn-r20924] Snapshot version 1.8 release 8 (snap1) 2011-05-29 19:11:07 -05:00
Raymond Lu
596a38f519 [svn-r20920] Issue 7579 - The overflowing ENUM values are inconsistent. When no conversion is involved in reading or writing the
data, overflowing values are retained.  When conversion happens, the values become -1. The conversion function puts -1
when overflow happens.  I added two new dataset transfer property to control whether to fill 0xff in the destination 
data or convert to the destination data when overflow happens.  The two new functions are H5Pset(get)_enum_conv_overflow.  I also added test cases in enum.c and dtypes.c.

Tested on jam, koala, and heiwa.
2011-05-27 16:13:25 -05:00
Allen Byrne
44e5d2a1d7 [svn-r20904] Bring r20871, 20875, 20901, 20903 from trunk.
Tested: local linux
2011-05-25 10:27:58 -05:00
Dana Robinson
cada25ba3d [svn-r20898] Merge of configure changes 20891-2,4 from the trunk. 2011-05-24 17:11:36 -05:00
Raymond Lu
dd23200a46 [svn-r20897] I added some comments.
Tested on jam - very simple change.
2011-05-24 17:02:29 -05:00
Allen Byrne
cbd4ba8de1 [svn-r20895] Add soversion handling - use config/lt_vers.am file.
Tested: local linux
2011-05-24 11:50:52 -05:00
Quincey Koziol
a01f323d4c [svn-r20893] Description:
Bring r20885 from trunk to 1.8 branch:

r20340:
Address coverity issue 248.  Set freed pointer to NULL if realloc fails, then check for NULL before attempting to close array of handles stored in memory addressed by pointer.

r20341:
Added initialization udata.path = NULL; udata.visited = NULL; to prevent unintialized use after done: label.

Do C-style initialization AFTER all variable definitions.

r20342:
Fix valgrind error in H5DUMP-XML-tall.h5

r20343:
Addressed Coverity issue 591 - check the return value of H5S_SELECT_ITER_RELEASE.

r20344:
Added initialization udata.path = NULL; to prevent uninitialized used after done: label

r20347:
Purpose: Fix memory leak in overhead.c

Description: Fixed leak in test() in overhead.c where array "had" was never
freed.


r20348:
Addressed Coverity issue 705 - added prototype for resize_configs_are_equal to cache_common.h.

r20392:
Purpose: Fix coverity issues 1677 and 1678

Description: Added return value checking for 4 funciton calls in
H5tools_get_symlink_info().

r20394:
Purpose: Fix coverity issues 1674 and 1675

Description: Modified H5Epush2() and H5E_printf_stack() to keep track of whether
va_start() has been called, and to call va_end() at the end if so.

r20395:
Should be H5MM_calloc(count * sizeof(void*)). Fixed --gh 

r20396:
Should be H5MM_calloc(count * sizeof(void*)). Fixed. --gh

Tested on:
    Mac OSX/32 10.6.7 (amazon) w/debug & production
    (h5committested on branch)
2011-05-23 12:43:37 -05:00
HDF Tester
700b935f7b [svn-r20889] Snapshot version 1.8 release 8 (snap1) 2011-05-23 09:17:12 -05:00
Jonathan Kim
c24a7a7ba8 [svn-r20886] purpose:
hdffv-7514 - GMQS: h5dump - improve effectiveness of testing scripts for handling expected output files

description:
    Removed top 3 lines from expected output file and update testing scripts 
    accordingly. These lines started to become maintainence headaches.
    First phase for h5dump test update. Next phase will be for h5ls.
    this is prerequisite for 'hdffv-7602 tools - upgrade tools' test scripts to share test files among tools, providing framework for test file re-usability.'

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake (jam)
2011-05-20 17:44:28 -05:00
Raymond Lu
b290a2d784 [svn-r20873] Issue 7564 - Allow H5Tcreat to create string type (fixed-length and variable-length). I also added a test case in dtypes.c. The commit is only for test/dtypes.c, src/H5T.c, and release_docs/RELEASE.txt. All others are property changes due to the merge from the trunk.
Tested on jam but I tested the same change for the trunk on jam and linew - relatively simple.
2011-05-20 11:34:12 -05:00
Allen Byrne
54728019ca [svn-r20863] Adjust CPack configuration location by removing version extension in folder name. Add install configuration commands if ext libs are packaged with project. 2011-05-18 13:23:41 -05:00
Raymond Lu
5d7907cde5 [svn-r20859] Issue 2599 - Cross-test BE and LE data. I added the test for deflate, szip, fletcher32, shuffle and nbit filter in cross_read.c and gen_cross.c. I also took out the data file for OpenVMS because the data isn't native but IEEE for floating-numbers.
Tested on jam and linew.  But I tested the same change to the trunk with h5committest.
2011-05-18 11:50:02 -05:00
Allen Byrne
febe2c71a8 [svn-r20857] Correct state of EXTERNALLY_CONFIGURED when using EXTERNAL_PROJECT for extlibs. 2011-05-18 09:46:27 -05:00
Allen Byrne
7dc312302a [svn-r20852] Add CPack commands to properly include extlibs into package
Tested: windows
2011-05-17 17:04:34 -05:00
Allen Byrne
a320d5c19e [svn-r20850] Correct Position of CPack include 2011-05-17 14:01:38 -05:00
Allen Byrne
8cd51f64a5 [svn-r20849] Change CPack commands for extlibs to test for EXTERNAL_PROJ define instead of CMakeCache.txt file. 2011-05-17 12:39:03 -05:00
Allen Byrne
2134f3ab6f [svn-r20843] Add CPack commands to properly include extlibs into package
Tested: windows
2011-05-16 17:04:33 -05:00
Jonathan Kim
005c6a9155 [svn-r20811] Purpose:
HDFFV-7594 - GMQS: h5dump shows wrong values for H5T_STD_I8LE dataset on Blue-gene (ppc64 linux BE +@)

Description:
    Merged from HDF5 trunk r20804.
    For the STD_I8 type data, updated to use 'signed char' instead of 'char' as
    'char' could be defined as unsigned on a certain system, which cause h5dump
    to display data values incorrectly.

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), cmake
2011-05-13 10:02:26 -05:00
Allen Byrne
8fc3aa7ca3 [svn-r20809] Add Using_CMake.txt file to docs and install 2011-05-13 09:12:13 -05:00
Allen Byrne
bad6f4a08b [svn-r20806] references files for jam tests are in sub-folder - testfiles 2011-05-13 08:49:38 -05:00
Allen Byrne
a56750c9b5 [svn-r20802] Bring trunk revision 20798 to 1.8. Trunk changes passed overnight.
Tested: local linux
2011-05-12 12:23:43 -05:00
Allen Byrne
83703a9784 [svn-r20801] Correct install path variable 2011-05-12 11:42:26 -05:00
Allen Byrne
9a39f388e2 [svn-r20799] Correct version subrelease string test 2011-05-12 08:35:07 -05:00
Allen Byrne
d950dfbbfe [svn-r20795] Add test for subrelease of version before creating the PACKAGE_VERSION_STRING. 2011-05-11 08:53:48 -05:00
Jonathan Kim
a396f8dd7f [svn-r20794] Purpose:
HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects

Description:
    Merged from HDF5 trunk r20767.
    Improved performance by eliminating duplicated action for getting object 
    information in half from the previous fixe when comparing group vs group. 
    This is addition to the previous commit r20706.

Tested:
    jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE)
2011-05-10 18:05:28 -05:00
Mike McGreevy
30db3befb2 [svn-r20791] Copy finished RELEASE.txt from 1.8.7 branch to
1.8's HISTORY-1_8.txt file.
2011-05-10 13:31:40 -05:00
Dana Robinson
acf8608ce6 [svn-r20789] Merged 20724 and 20756 from the trunk to fix HDFFV-7527 concerning
invalid enum value comparisons.

Tested on: h5committest
2011-05-10 11:11:11 -05:00
Allen Byrne
49d12a044c [svn-r20786] Revert region data print changes from yesterday 2011-05-10 08:52:34 -05:00
Allen Byrne
da64715276 [svn-r20784] correct type of variable for blkindx, indx and jndx 2011-05-09 16:51:32 -05:00
Raymond Lu
029e30704f [svn-r20782] I changed the macro definition of DIR_SEPC and DIR_SEPS to ']' for OpenVMS in H5private.h. Strictly speaking, it isn't
the directory seperator.  But it can simplify the code and make the H5L_build_name function cleaner.  

Tested on jam because the change only affects VMS.
2011-05-09 16:39:39 -05:00
Allen Byrne
79a646acc7 [svn-r20780] Corrected export test to use parameters passed in from ADD_TEST()
Tested: local linux
2011-05-09 16:10:26 -05:00
Allen Byrne
040d210f5c [svn-r20777] Refactor print_data_region_blocks/ponts to remove context passed in by value. The print functions needed an independent context with only the current indent level passed in by argument. Also synched the two routines logical flows and corrected a mem_space error.
Tested: local linux
2011-05-09 15:06:43 -05:00
Albert Cheng
bcde54c003 [svn-r20772] Problem:
Test scripts sometimes need to filter some system-specific messages from the
actual output so that it can match the correct expected output. These filtering
functions, ususally called "STDOUT_FILTER()" and "STDERR_FILTER()" were being
repeated in individual test scripts.  This becomes a maintenance problem and
is error prone.

Solution:
Extract the two filter functions code to bin/output_filter.sh and then each
test script sources it in. This allows reuse of coding and is much easier to
maintain and to add new filtering.

Tested:
LLNL Zeus (linux64 cluster) and Dawndev (Blue-Gene cluster), both for serial
mode only.
2011-05-07 12:06:48 -05:00
Albert Cheng
88a54b790d [svn-r20770] Entered the two known problems:
1. "make install prefix=XXX" does not work with shared libraries.
2. May have to increase $HDF5_ALARM_SECONDS for t_shapesame test.
2011-05-07 01:59:29 -05:00
Raymond Lu
fc64b8d94e [svn-r20758] I commented out 2 test cases using H5_CANNOT_OPEN_TWICE because they open the same file twice. OpenVMS
can't do it.

Tested on jam.
2011-05-05 14:53:41 -05:00
Allen Byrne
f9f3c73173 [svn-r20753] Windows does not have snprintf, need to use HDsnprintf. 2011-05-05 10:57:36 -05:00
Allen Byrne
d8781b5143 [svn-r20727] bring r20725 from trunk 2011-05-04 15:30:55 -05:00
Allen Byrne
7706186b2f [svn-r20722] Refactor ext lib import and install.
Change case of tools subtests to not conflict with tools tests.
Add SOVERSION for linux
Remove PACKED BITS define/idef blocks

Bring r20721 from trunk
2011-05-04 14:46:33 -05:00
Larry Knox
be60cc1759 [svn-r20719] Merge changes to scripts to run installed examples from hdf5 1.8.7 r 20718. The default prefix in the scripts will use the compile scripts in the installed bin directory. 2011-05-04 11:41:19 -05:00
Raymond Lu
c847e38551 [svn-r20710] I added ef.c to the compile list.
Not tested yet.
2011-05-03 10:26:09 -05:00
Dana Robinson
3ebfb3690a [svn-r20708] Pushed change 20707 to the 1.8 branch.
This was a comment-only change that better documents the VFD data "flavors".
2011-05-02 15:48:49 -05:00
Jonathan Kim
3e755a079b [svn-r20706] Purpose:
- HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects

Description:
    Merged from HDF5 trunk r20676.
    Fixed:
    1) adding h5tools_is_obj_same() function to check if two given IDs or paths point to the same object. This function can be very useful for other tools and applications.
    2) using h5tools_is_obj_same() at h5diff() and diff() in h5diff.c. If two paths point to the same object, there is no need to check the details of the object since we know there is no difference. The fix will increase the performance by skipping the content comparison. It also fixed the problem of reporting difference for some cases of comparing the same file, e.g. empty files or files with incomparable objects the same file.

    Test update:
    Updat prvious test cases (171, 172, 530) affected by this fix, so they
    still perfrom originally intended testing without bypassing.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake
2011-05-02 15:41:03 -05:00
Raymond Lu
216625cb81 [svn-r20703] I added efc.c to the test list.
Not tested yet.
2011-05-02 12:04:08 -05:00
Raymond Lu
e45d39af74 [svn-r20699] I added H5Fefc.c to the compile list.
Not tested yet.
2011-05-02 11:42:40 -05:00
Neil Fortner
3447790fc5 [svn-r20695] Add description for new "external_open_twice" test.
Tested: jam
2011-05-02 10:32:17 -05:00
Neil Fortner
fa8bda3358 [svn-r20692] Purpose: Fix problem exposed by external link cache
Description:
When closing an object that had two open id's, the library would previously fail
to account for the status of the "holding_file" field, potentially causing the
file's "nopen_objs" field to become inconsistent.  This caused problems when
opening the same object twice through an external link using th external file
cache.  Modified the library to properly account for the status of the
"holding_file" field when closing an object id, even when the underlying
"shared" object isn't closed.

Tested: jam, koala, heiwa (h5committest)
2011-05-01 23:20:25 -05:00
Albert Cheng
21859f0cb8 [svn-r20690] Changed compiler name from xlf/mpxlf_r to xlf90/mpxlf90_r to avoid
misunderstanding.  xlf/mpxlf_r are actually Fortran 77 compilers. HDF5 requires
Fortran 90 or higher.
2011-04-29 18:45:11 -05:00
Albert Cheng
0da764db44 [svn-r20687] Added "xlc_r" as a recognized XL compilers.
Tested:
NCSA BP AIX system. No need of h5committest because the changes affect AIX
systems only.
2011-04-29 17:47:12 -05:00
Allen Byrne
bb611704bf [svn-r20674] Eliminate memory buffer errors,
overhead - add free to successful path.
  zip_perf - filename handling needed inits to NULL and free
  
Tested: local linux
2011-04-28 17:10:55 -05:00
Jonathan Kim
7f8e7f724c [svn-r20671] Fixed file name handling with char pointer incorrectly causing crash.
(Reviewed by ADB)
2011-04-28 15:44:47 -05:00
Allen Byrne
a62f70256a [svn-r20667] Re-enable All tests for memcheck and add test_configuration setting 2011-04-28 15:17:57 -05:00
Allen Byrne
57dcc9d047 [svn-r20663] Remove extraneous memcheck parameters
Tested: local linux
2011-04-28 14:54:13 -05:00
Raymond Lu
ee725efcfc [svn-r20661] Bug fix: VMS has trouble to deal with absolute path. I changed dtypes.c to use the file name only. I also
updated the current directory path in vms/test/H5srcdir_str.h.

Tested on jam and OpenVMS.
2011-04-28 14:42:34 -05:00
Quincey Koziol
8bdd58ac2d [svn-r20659] Description:
Bring r20657 from trunk back to 1.8 branch:

	Correct check for pthreads routine from pthread_join() to pthread_self()
as intended.

Tested on
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2011-04-27 20:07:00 -05:00
Quincey Koziol
78dccd4259 [svn-r20653] Description:
Bring r20651 & r20652 from trunk to 1.8 branch:

	Switch from using 'pthread_create' to 'pthread_self' when trying to
detect the pthread library, so that the Intel C compiler is happier with the
prototype.

	Teach the tracing script & routines about the 'unsigned long' and
'unsigned long long' types, so that the H5Pset_fapl_log() API routine gets
tracing information correct.

Tested on:
	FreeBSD/32 6.3 (duty)
	(h5committested on trunk)
2011-04-26 16:48:43 -05:00
Quincey Koziol
814c2225da [svn-r20647] Description:
Bring r20646 from trunk to 1.8 branch:

Tested on:
	FreeBSD/32 8.2 (loyalty)
	(too minor to require h5committest)
2011-04-26 15:21:38 -05:00
Allen Byrne
dd8ce27961 [svn-r20642] Add CPack overrides for NSIS install paths. Install for products are: HDF Group/Product/Version 2011-04-26 14:16:10 -05:00
Allen Byrne
6d45e7d1a7 [svn-r20636] Windows needs timeout at 3600 2011-04-25 15:55:38 -05:00
Allen Byrne
1ce4f5a9df [svn-r20628] Add dependency of t_pflush2 on t_pflush1 2011-04-25 12:07:23 -05:00
Raymond Lu
0efc913a67 [svn-r20624] Albert's test on bp reveals that the dumper had assertion failure when it tried to display empty attribute data. I added
a check for empty attribute in h5dump.c. I also added a check for empty dataset in tools/lib/h5tools.c.

Tested on jam, linew, and amani.
2011-04-25 11:38:56 -05:00
Allen Byrne
fbd98fe9fb [svn-r20620] Change test timeout from 30 back to 1200 - avoid timeout failures on windows 2011-04-25 11:04:41 -05:00
Jonathan Kim
d0495e29cc [svn-r20616] Purpose:
HDFFV-5948 - CHICAGO: Tools - implement missing external link test cases

Description:
    Merged from HDF5 trunk r20595 and r20600.
    Add three test cases for h5dump and h5ls.
    - h5ls: external link to soft link with follow symlink.
    - h5dump: external link to soft link with follow symlink.
    - h5ls: external link to soft link without follow symlink.

Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake
2011-04-22 17:23:45 -05:00
Raymond Lu
8116ae4f78 [svn-r20608] OpenVMS complainted about a test case in th5o.c which opened the same file twice. VMS doesn't allow it. I used the macro H5_CANNOT_OPEN_TWICE to skip the test case. In th5s.c, I created an attribute but fogot to close it in the test case for zero dimension size.
Tested on amani, jam.  But I haven't tested on OpenVMS yet.
2011-04-22 15:17:28 -05:00
Allen Byrne
2a7a8ae232 [svn-r20598] Add missing library suffix to ext lib install list, windows dynamic only 2011-04-22 09:35:39 -05:00
Allen Byrne
282d1cd224 [svn-r20591] On windows the ext libs did not work for cpack process. Changed ext lib handling to get the correct path. Needs more work to remove the the pre-install copying.
Bring r20590 from trunk

Tested: windows
2011-04-21 14:23:12 -05:00
Raymond Lu
af5d073a30 [svn-r20585] I updated it for 2 new data files in the h5diff/testfiles directory.
I tested the same change in the trunk with h5committest.
2011-04-20 17:11:38 -05:00
Raymond Lu
d6f1109839 [svn-r20582] Bug 1386 - allowing dimension size to be zero. I forgot to check in these 2 data files for the test.
Now test is needed.
2011-04-20 16:43:40 -05:00
Raymond Lu
4d0fbe96bc [svn-r20579] Bug 1386 - allowing dimension size to be zero. I added test cases in the tests for h5dump and h5diff. I also added the
test cases in the CMAKE script.

Tested on jam.  But I tested the same change in the trunk with h5committest.
2011-04-20 16:34:49 -05:00
Mike McGreevy
73fde75a6c [svn-r20574] Bump soname interface number. This should have been bumped
in 1.8.6 when its API was changed, but since it wasn't I'm
manually fixing up these numbers in 1.8 and 1.8.7 branches
for the time being.
2011-04-20 13:28:46 -05:00
Allen Byrne
8f81c74806 [svn-r20570] Correct Windows only set command 2011-04-20 13:12:49 -05:00
Allen Byrne
15231113cb [svn-r20568] Bug #5929: On windows check for existence of InitOnceExecuteOnce for use by threads.
Tested: Windows Xp and 7
2011-04-20 12:32:12 -05:00
Mike McGreevy
23e2eff7a3 [svn-r20566] - Clear our RELEASE.txt in preparation for 1.8.8 release work.
- Update version references in RELEASE.txt
- Add reminder to HISTORY.txt that it needs completed RELEASE.txt
  from the 1.8.7 branch when it's done.
2011-04-20 11:51:21 -05:00
Mike McGreevy
2065dc05cc [svn-r20565] Update 1.8 branch version to 1.8.8-snap0 2011-04-20 11:41:42 -05:00
Quincey Koziol
4f17c3c591 [svn-r20562] Description:
Bring r20561 from trunk to 1.8 branch:

	Remove C++ specific flag from C compilation flags, for gcc 4.5 & 4.6

Tested on:
	FreebSD/64 8.2 (freedom) w/gcc 4.6
2011-04-20 11:17:08 -05:00
Mark Evans
697ca4c4fe [svn-r20558] _ Added a JIRA ticket # to a bug fix entry. 2011-04-19 12:58:46 -05:00
Allen Byrne
1d59705730 [svn-r20557] Update Windows doc references 2011-04-19 11:06:49 -05:00
Quincey Koziol
bb184fb19e [svn-r20556] Description:
Bring r20553 from trunk to 1.8 branch:

	Revert part of r20536 that was part of a Coverity merge.

Tested on:
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
	(h5committested on trunk)
2011-04-19 10:58:18 -05:00
Quincey Koziol
a68bc7f205 [svn-r20552] Description:
Bring r20551 from trunk to 1.8 branch:
	Correct 'FILE **' back to 'FILE *' for H5Fget_vfd_handle call.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committest performed on trunk)
2011-04-19 06:38:50 -05:00
Dana Robinson
edd55ada7c [svn-r20549] Fixed bug in test/vfd.c (HDFFV-5936) that caused STDIO VFD test to fail on some platforms.
The problem was that the test was a clone of the SEC2 test.  The SEC2 test accepts a file descriptor (int) via a void pointer from H5Fget_vfd_handle() whereas the STDIO test needs to accept a FILE pointer.  Storing the FILE pointer in an integer failed on some systems.  The STDIO test now stores the file handle in FILE pointer and checks it for NULL instead of < 0.
2011-04-18 16:29:33 -05:00
Mark Evans
6ad1466b4f [svn-r20547] _ Edited for language. Some questions sent to Jonathan
and Albert for clarification.
2011-04-18 13:31:02 -05:00
Allen Byrne
35318dc75c [svn-r20542] revert install command for External library builds - copy of lib fails if permission to install location is denied. Does not affect build otherwise.
Tested; local linux
2011-04-18 10:58:17 -05:00
Allen Byrne
16ee48d983 [svn-r20541] Add missing prototypes for windows 2011-04-18 09:32:20 -05:00
Quincey Koziol
d90f14295a [svn-r20540] Description:
Bring r20538 & r20539 from trunk to 1.8 branch:

	Update with new warning flags for gcc 4.6.x

	Bring Coverity changes back to trunk:

r20276:
Add recursive is vlen string function.
Cleanup resource leaks for issues: 200,202,329,688,811,812


r20277:
Check types and close by adding error section: issue 687


r20278:
Replaced implicit pointer conversion with (ocrt_info.new_obj != NULL).


r20280:
Addressed coverity issues 927-929 & 583.  The real issue is failure to check 
file name length -- at least at the H5FD interface level.  This needs more work, but at least I have dealt with the issue in H5FDfamily.c


r20337:
H5O_type_t  obj_type = H5O_TYPE_UNKNOWN;


r20338:
Added udata.name = NULL; to prevent potential uninitialized use after done: label.


r20339:
coverity issues: 686,828,1670-1673,1707-1711


Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       FreeBSD/32 8.2 (loyalty) w/gcc4.6, in debug mode
       FreeBSD/64 8.2 (freedom) w/gcc4.6, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, w/threadsafe, in production mode
       Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
2011-04-18 05:24:39 -05:00
Quincey Koziol
0badac6423 [svn-r20537] Description:
Bring r20535 & r20536 from trunk to 1.8 branch:

	Add explicit test that checks that the 'fileno' field in H5O_info_t
is the same for objects in the same file, whether the file was opened twice
or not.

	Clean up various warnings & code formatting issues.

	Bring changes from Coverity branch to trunk:

r20085:
Purpose: Fix coverity issue 793

Description: Modified H5S_hyper_project_simple_higher() to free the entire span
list in new_space on failure.


r20091:
This is a fix for coverity bug #1683.
Changed the two printfs to use %lu (unsigned long) for printing "dset_size".


r20162:
Purpose: Fix coverity issue 785

Description: Modified H5T_enum_nameof() to free "name" on failure if it was
allocated.  Also clarified some code in H5S_hyper_rebuild_helper().


r20189:
Addressed coverity defect 783.

H5SL_new_node() in H5SL.c was failing to free space allocated in its
first alloc if the second alloc failed.  Added a call to H5FL_FREE
to address this issue.

This is purely to keep coverity happy -- if this code is ever triggered,
we have much larger problems.

Note that this fix will trigger an unused return value complaint
from coverity next week.


r20190:
Fixed Coverity issues 1561 1565 and 1678 (UNUSED_VALUES) by moving checks of return values to after the function call.


r20191:
Fixed coverity issues 643 644 and 1678 (CHECKED_RETURN).


r20232:
Addressed coverity issues 923-925.  Replaced calls to sprintf with calls
to HDsnprintf.


r20233:
Fix coverity issue 662.  Don't try to sort 0 attributes in H5Aint.c.


r20234:
Fix coverity issue 664.  Check for NULL before dereferencing in H5Gdeprec.c.


r20271:
Purpose: Fix coverity issue 784

Description: Modified H5_debug_mask() to keep a list of files opened for use as
a debugging output stream, and modified H5_term_library to close these files on
exit.


r20272:
addressed coverity issues 838 & 955.  Issue was use of strcpy() -- existing
code was safe, but modified to use strncpy() to keep coverity happy.


r20273:
Addresed coverity issues 1388 and 1389.
Initialized sel_iter->type to NULL in H5S_select_iter_init.


r20275:
Purpose: Fix valgrind issue in mf.c

Description: Fixed bug (incomplete if statement) in test_mf_fs_alloc_free() so
the retrieved node gets freed.


Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, w/threadsafe, in production mode
       Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-04-17 14:16:38 -05:00
Larry Knox
a99c68f3f9 [svn-r20534] Remove export from "export LD_LIBRARY_PATH=${LL_PATH}" in examples and hl/examples Makefiles. "export" breaks make install in Daily Tests on FreeBSD machines and isn't missed elsewhere.
Tested on amani, freedom, jam, koala, and loyalty.
2011-04-16 12:52:58 -05:00
Albert Cheng
94c1e60ea8 [svn-r20532] Blue-Gene port:
dawndev mpirun issued diagnose messages to stderr if program exit non-zero.
The messages messed up the matching with expected output.
Added a filter to screen out the messages.

Tested: LLNL dawndev
2011-04-15 18:35:56 -05:00
Neil Fortner
4ad6d32bfe [svn-r20531] Purpose: Add testing for bug 1864
Description:
Added internal tesitng routines to traverse a file and verify that symbol table
information is *always* cached, whenever possible.  Added this check to the end
of many tests to check all the test files, right before the call to h5_cleanup.

Tested: jam, amani, heiwa (h5committest)
2011-04-15 17:14:32 -05:00
Larry Knox
27a7f563f1 [svn-r20530] Updated configure.in to check for a non-empty LL_PATH in addition to using szip before attempting to export LL_PATH as LD_LIBRARY_PATH in the examples and hl/examples Makefiles. This fixes a probelm that caused make install or installcheck on FreeBSD machines.
Tested on freedom and jam.
2011-04-15 17:08:30 -05:00
Albert Cheng
48079fa0fa [svn-r20527] Blue-Gene port:
dawndev mpirun issued diagnose messages to stderr if program exit non-zero.
The messages messed up the matching with expected output.
Added a filter to screen out the messages.

Tested: LLNL dawndev
2011-04-15 16:42:12 -05:00
Frank Baker
b6cf1e2aa1 [svn-r20526] Description:
Editorial pass.
2011-04-15 16:21:15 -05:00
Mike McGreevy
699098014b [svn-r20525] Description:
Merge revisions 20475, 20502, and 20504 from trunk to 1.8 branch.

Tested:

    Tested on jam, fred, bangan (CYGWIN), and h5committested.
2011-04-15 15:41:32 -05:00
Albert Cheng
e59c147f5d [svn-r20521] Removed ibm-aix6.x file which just sourced ibm-aix file. Removed code in
configure.in that tried to distinguish different versions of AIX. This is no 
longer needed.

Tested:
NCSA Blue-print. No h5committest since this affected AIX system only.
2011-04-15 15:14:03 -05:00
Quincey Koziol
9143558593 [svn-r20518] Description:
Correct test file name.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-04-15 14:47:30 -05:00
Quincey Koziol
531f24926c [svn-r20517] Description:
Bring r20513 from trunk to 1.8 branch:

	Correct several problems with compound datatypes that don't have any
fields added:

- Change assertion to error report when a file is encountered which has this
	situation.

- Added check to attribute creation to avoid creating attributes with a
	datatype like this (datasets and named datatypes already have the check)

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, w/threadsafe, in production mode
       Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
2011-04-15 14:25:36 -05:00
Dana Robinson
a3a0794eb3 [svn-r20509] Added my bugfixes and known issues to RELEASE.txt. 2011-04-15 12:23:22 -05:00
Scot Breitenfeld
755d168ff7 [svn-r20508] Checked in changes for fixing:
Bug 1752 - H5Lite Fortran APIs do not allow you to create 4 dimensional datasets (or greater)
           * Fixed and tested the integer, real, double routines for creating and reading 
             dimensional dataset with ranks 4-7

Bug 1939 - h5tbget_field_info_f
  * Fixed error in passing an array of characters with different length
    field names for h5tbmake_table.

  * Fixed error in h5tget_field_info_f with packing the C strings
    into a fortran array of strings.

  * Added optional arguement to h5tbget_field_info_f called maxlen
    which returns the maximum string character length in a field name
    element.

  * Uncommented out test for h5tbget_field_info_f in the test program
    and added additional checks for the output.

Tested: jam (intel, gnu compilers)
2011-04-15 11:58:26 -05:00
Scot Breitenfeld
92bfc35459 [svn-r20507] Merged the changes in 'fortran' from the trunk into branch, used:
svn merge -r 18556:20506 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Tested: jam (gnu, intel, pgi compilers)
2011-04-15 11:44:30 -05:00
Allen Byrne
ea2a03bc5f [svn-r20505] Add missing cmake_install_prefix to external projects 2011-04-14 17:09:00 -05:00
Dana Robinson
b2aed7a836 [svn-r20500] Merge of 20499 from trunk to fix Windows H5_HAVE_GETTIMEOFDAY issues (HDFFV-5931).
Tested on: Windows
2011-04-14 14:39:03 -05:00
Raymond Lu
9062c8583f [svn-r20498] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. I made a change in H5Sset_extent_simple to
forbid setting the dimension size bigger than existing maximal size.  In this checkin, I restored it to the previous 
behavior that any change will wipe out previous record of dimensionality.  I brought the changes from the trunk.

Tested on jam - a simple change.
2011-04-14 14:16:53 -05:00
Jonathan Kim
92897336ee [svn-r20494] Purpose:
Fixed HDFFV-4342 : GMQS:  h5dump test fails when source directory is read-only

Description:
    Merged from HDF5 trunk r20488 and r20490.
    Updated h5dump test case script to prevent entire test failure upon 
    source code directory is read-only.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Cmake (jam, windows)
2011-04-14 11:30:31 -05:00
Neil Fortner
ad86a38f70 [svn-r20492] Rename H5Frelease_file_cache to H5Fclear_elink_file_cache.
Tested: Fedora (too minor for full committest)
2011-04-13 16:05:40 -05:00
Raymond Lu
2815eefb6b [svn-r20489] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. I brought the changes from the trunk as below:
1. I added test cases for contiguous, compact, and chunked, and external storage datasets, and also attribute.  
   The test includes dataspace selections.
2. I added a test case of extending dataset of zero dimension size and shrinking back to zero dimension size.
3. I updated the Makefile to include the new data file to be cleaned up.
4. The dataspace code has another bug - when the maximal dimension isn't passed in for H5Sset_extent_simple, it
   is supposed to be same as the dimension.  The current library sets NULL to it.  I corrected it and added a
   test case to it.
5. I corrected the tests of Fortran and C++ for the problem in point 3.

Tested on jam, heiwa, and amani.
2011-04-13 11:14:16 -05:00
Allen Byrne
49a607c438 [svn-r20483] Fix handling of ext libs Windows naming for External_Project builds of "Debug" builds. 2011-04-12 14:29:28 -05:00
Quincey Koziol
c0958cb754 [svn-r20481] Description:
Bring r20480 from trunk to 1.8 branch:

   Remove global variable for the path name in the group traversal code.  Also
clean up a bunch of compiler warnings.

Tested on:
    Mac OS X/32 10.6.7 (amazon) w/debug & production
    (h5committested on trunk)
2011-04-12 12:58:28 -05:00
Larry Knox
30fee2b4da [svn-r20479] Fixed issue HDFFV-5866 (BZ 2156). Changed scripts to run examples to use specific names for compiled executable files instead of a.out, which did not work on Cywin as it produces a.exe by default. Removed issue from known problems section of RELEASE.txt.
Tested with h5committest and Cygwin 1.7.8 on Windows 7.
2011-04-12 11:19:22 -05:00
Jonathan Kim
48cf9c117e [svn-r20478] remove duplicated -f option from a test case script.
jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-04-11 17:45:14 -05:00
Allen Byrne
46c8a9f06f [svn-r20473] Add message that H5_HAVE_WIN_THREADS requires WINVER >= 0x600 (VISTA or WIN7)
Bring r20472 from trunk
2011-04-11 15:55:09 -05:00
Dana Robinson
57e6519748 [svn-r20471] Merged 20453 from trunk (minor fix to quiet compiler warning about integer overflow). 2011-04-11 11:51:45 -05:00
Dana Robinson
5efcedb625 [svn-r20470] Merged 20459 and 20462 (new and updated VFD tests) from trunk. 2011-04-11 11:48:35 -05:00
Allen Byrne
54fa63edff [svn-r20466] Add CDASH_LOCAL option to direct where ctest results are reported 2011-04-11 10:19:08 -05:00
Allen Byrne
47c80528fa [svn-r20464] Merge cmake changes from trunk r20463, after weekend of tests on trunk.
Tested: local linux
2011-04-11 10:07:29 -05:00
Allen Byrne
41a304212c [svn-r20447] Updated valgrind ignore list 2011-04-08 09:32:04 -05:00
Jonathan Kim
28145179bd [svn-r20428] Purpose:
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for 
    --use-system-epsilon option

Description:
    Additional check in from the previous checkin r20425.
    Updated help page again.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
2011-04-06 16:05:55 -05:00
Jonathan Kim
81dce5bdfe [svn-r20425] Purpose:
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for 
    --use-system-epsilon option

Description:
    Additional check in from the previous checkin r20369.
    Updated help page.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
2011-04-06 14:59:21 -05:00
Allen Byrne
a91bb57567 [svn-r20420] Correct typo in macro parameter
Tested: local linux
2011-04-05 15:00:39 -05:00
Allen Byrne
842256345b [svn-r20418] ExternalProject_ADD calls changed to use common project output folders for external projects. This eliminates the library copy commands, which were failing on windows.
Tested: local linux
2011-04-05 12:32:40 -05:00
Allen Byrne
713d63c979 [svn-r20416] Add_External_Project needs rework to eliminate excessive copying, undo last commit 2011-04-05 10:43:08 -05:00
Allen Byrne
83f0c357b0 [svn-r20415] Add_External_Project expects the bin folder for output 2011-04-05 09:40:57 -05:00
Larry Knox
ba954eba91 [svn-r20409] Corrected text in INSTALL file: there is no --enable-szlib configure option, it should be --with-szlib=. 2011-04-04 08:16:58 -05:00
Quincey Koziol
bd7499db1f [svn-r20407] Description:
Bring r20406 from trunk to 1.8 branch:

	Refactor root group routines to centralize and simplify them some.
Also patch root group's file pointer when it doesn't match the querying
file, from H5G_rootof.

Tested on:
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
	(h5committested on trunk)
2011-04-03 23:26:12 -05:00
Allen Byrne
16f45fc25a [svn-r20390] Add overlooked condition for external project around packaging section of extlibs 2011-04-01 13:36:53 -05:00
Allen Byrne
a00878e534 [svn-r20386] Change error-stack test option from -E to --error-stack 2011-04-01 08:34:56 -05:00
Jonathan Kim
183aaba8fc [svn-r20385] Purpose:
Bug 2182 - h5ls and h5dump: update to use --enable-error-stack among tools, also update related descriptions

Description:
    Merged from HDF5 trunk r20378 and r20379
    Decided to use --enable-error-stack long option name only to 
    display error stack messages from HDF5 lib among tools.
    Updated to unify option name to '--enable-error-stack' for printing 
    HDF5 error stack messages for HDF5 tools. h5ls and h5dump for now.
    For h5ls, this replaces "-e/--errors" option, which is deprecated.
    For h5dump, remove -E from help page and RM , which was added by mistake
    before release1.8.7.
    Help page and RM got updated.
    Updated test case.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
2011-03-31 17:31:20 -05:00
Allen Byrne
3d319b0ac1 [svn-r20376] Test name change needed to be updated in valgrind ignore list 2011-03-30 10:25:22 -05:00
Allen Byrne
36d47939ea [svn-r20374] Separate no option test within ADD_TEST so depends behaves correctly 2011-03-29 12:59:11 -05:00
Allen Byrne
640ae9ebeb [svn-r20370] Correct fflush tests dependencies (bring change from trunk) 2011-03-29 11:42:02 -05:00
Jonathan Kim
d467c2ce71 [svn-r20369] Purpose:
Fixed Bug 2184 - GMQS: h5diff - incorrect calculation code for 
    --use-system-epsilon option

Description:
    Fixed h5diff for --use-system-epsilon option: the calculation changed
    from ( |a - b| / b ) to ( |a - b| ). This was decided for better 
    performance and was corrected only in HDF5 trunk, so 1.8 got updated.
    Also comments for equal_XXX() function were updated correctly. 
    Also help page and RM got updated correctly.
    Also add test cases for testing the differences w/wo the option.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows (32-LE)
2011-03-29 11:20:19 -05:00
Allen Byrne
ea694afb00 [svn-r20367] Added BZ1725 reference corresponding to r20365 2011-03-29 10:54:02 -05:00
Allen Byrne
7766d925a0 [svn-r20365] BZ1725: H5DUMP displays type of reference for H5T_REFERENCE
bring r20349 from trunk
2011-03-29 10:43:33 -05:00
Allen Byrne
26152e7a0e [svn-r20364] Updated commands to properly clear generated files
bring r20363 from trunk
2011-03-29 10:15:46 -05:00
Allen Byrne
df8d328f18 [svn-r20361] Added missing character in CMake command 2011-03-29 09:20:59 -05:00
Allen Byrne
2e81d145b4 [svn-r20352] Update Valgrind ignore list 2011-03-26 09:49:51 -05:00
Jonathan Kim
bf558b6fbf [svn-r20350] Purpose:
Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the 
    different set of attributes (different number and names)

Description:
    Merged from HDF5 trunk r20334.
    This is related to previous checkin r20299.
    Add help page update for verbose option level feature, which displays 
    useful information about attribute difference with -v1, --verbose=1 -v2 
    or --verbose=2 option.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
2011-03-25 16:47:31 -05:00
Allen Byrne
16e46eecd8 [svn-r20336] Remove unused windows defines. Add _CONSOLE to windows definitions. 2011-03-25 13:35:26 -05:00
Allen Byrne
054bb8b7a0 [svn-r20333] Correct clear-misc filename 2011-03-25 09:47:56 -05:00
Allen Byrne
f16786df47 [svn-r20331] Adjust H5JAM tests for valgind execution 2011-03-25 09:18:26 -05:00
Allen Byrne
93c34f0404 [svn-r20325] Correct depends of test for examples and add clear test
bring r20324 from trunk
2011-03-24 15:23:11 -05:00
Allen Byrne
d92a65a8a7 [svn-r20323] Correct depends of test for CPP examples and add clear test
bring r20322 from trunk
2011-03-24 15:07:58 -05:00
Allen Byrne
9e7650f8f1 [svn-r20321] Correct clear objects for H5MKGRP tests
bring r20320 from trunk
2011-03-24 14:52:30 -05:00
Allen Byrne
356b1d0e15 [svn-r20319] Correct depends of test for ADD_H5COPY_TEST
Bring r20318 from trunk
2011-03-24 14:38:44 -05:00
Allen Byrne
2a03914bec [svn-r20317] Removed includes which are included with proper config checks in h5private.h.
Tested: local linux, windows
2011-03-24 14:26:55 -05:00
Allen Byrne
e18e2fc404 [svn-r20314] Changed winsock.h guard to sync with trunk
Tested: windows
2011-03-24 12:26:42 -05:00
Allen Byrne
0417fd2bd7 [svn-r20313] Change incorrect use of "struct stat" to use "h5_stat_t".
Also removed includes from top of file - they are included with proper config checks in h5private.h.
Changed name of Windows only gettimeofday function to avoid a define loop according to VS2008

Tested: local linux, windows
2011-03-24 12:22:13 -05:00
Allen Byrne
2e84173af5 [svn-r20311] Change incorrect use of "struct stat" to use "h5_stat_t". On windows, this used the wrong structure and caused crashes. Also removed includes from top of file - they are included with proper config checks in h5private.h.
Tested: local linux, windows
2011-03-24 10:33:20 -05:00
Allen Byrne
3b79661375 [svn-r20307] The TEST_REFERENCE EOL adjustment block needs to be included in the SKIP_COMPARE IF block 2011-03-24 08:30:29 -05:00
Allen Byrne
a880720ce1 [svn-r20306] Add tests to h5import and 80% of h5jam
Tested: local linux
2011-03-23 16:23:42 -05:00
Raymond Lu
ccaefedaf2 [svn-r20301] brought revisions 19868:20300 from the 1.8.6_vms branch to the 1.8 branch 2011-03-23 11:41:44 -05:00
Jonathan Kim
2aabc3f415 [svn-r20299] Purpose:
Fixed CHICAGO: Bug 2121 - h5diff - incorrect and lack of output for the 
    different set of attributes (different number and names)

Description:
    Merged from HDF5 trunk r20294
    Previously h5diff compared attributes correctly only when two objects have 
    the same number of attributes and attribute names are identical.
    Also didn't display useful information about attribute difference.
    This fix covers all other cases.
    This fixes both issues.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
2011-03-23 09:37:45 -05:00
Jonathan Kim
58ca19929f [svn-r20288] Purpose:
Fixed Bug 2216 - GMQS: h5diff - memory leak when compares vlen string in 
    dataset or attributes

Description:
    Merged from HDF5 trunk r20266, r20270 and r20285.
    Test for dataset : valgrind  --leak-check=full  ./h5diff -v h5diff_dset1.h5 h5diff_dset2.h5 /g1/VLstring
    Test for attr : valgrind --leak-check=full ./h5diff h5diff_attr1.h5 h5diff_attr2.h5
    Both test cases are in testing script.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), Cmake - jam
2011-03-22 09:26:12 -05:00
Jonathan Kim
4674cfe130 [svn-r20286] Purpose:
Fixed Bug 2214 - GMQS: h5diff - memory leak when accessing symbolic links
    with --follow-symlinks option and the target type is UDLink or some error 
    occurs

Description:
    Merged from HDF5 trunk r20274.
    Memory leaks occurred when accessing symbolic links with --follow-symlink
    option. 
    Test cases are in testing script. (400 - 456, 501 - 518)
    An example test : valgrind  --leak-check=full  h5diff --follow-symlinks -v h5diff_softlinks.h5 h5diff_softlinks.h5

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), Cmake - jam
2011-03-21 18:20:22 -05:00
Allen Byrne
64a17e9f7c [svn-r20283] Bring test properties changes from r20282 of trunk 2011-03-19 11:02:24 -05:00
Jonathan Kim
1b68d08116 [svn-r20279] Description:
Merged from HDF5 trunk r20254.
    In test script, h5ls is used to verify for the result, so change the two 
    tests like others. 
    This is related to the previous checkin SVN r18400.

Tested:
    jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), cmake (jam)
2011-03-18 15:57:37 -05:00
Allen Byrne
b986d9f39c [svn-r20268] Corrected expected fail tests for use during valgrind 2011-03-18 08:58:39 -05:00
Allen Byrne
187178aa4d [svn-r20264] Corrected typo 2011-03-16 15:30:03 -05:00
Allen Byrne
2b3c1b7812 [svn-r20263] Merge in lahey project files.
Tested: windows
2011-03-16 15:11:54 -05:00
Raymond Lu
b992a19659 [svn-r20261] In my previous checkin (20256), I used H5Gcreate instead of H5Gcreate2 in my test. I just corrected it.
Tested on jam with v16 API as the default.
2011-03-16 15:07:38 -05:00
Allen Byrne
042eed235d [svn-r20259] Windows compilers insist that variable declarations are before assignement statements
Tested: windows
2011-03-16 14:17:58 -05:00
Allen Byrne
e7c3421131 [svn-r20258] Corect name of test in test property 2011-03-16 10:48:24 -05:00
Raymond Lu
e7275d3645 [svn-r20256] Bug 2115 - add H5_VERSION_GE and H5_VERSION_LE macros. I added a new test case to show how to use them.
Tested on jam - simple change.
2011-03-15 16:34:26 -05:00
Allen Byrne
04c9fe36a9 [svn-r20253] Test control checks for running with valgrind.
Bring r20252 from trunk
2011-03-15 14:08:29 -05:00
Allen Byrne
a518bae9c0 [svn-r20248] Change name of new VLEN function from H5Tdetect_vlen_str to h5tools_detect_vlen_str to match other functions in tools lib.
Added back test for H5Tdetect_class of H5T_VLEN after each instance of above function to catch all VLEN types in h5dump.

bring back from trunk r20247

Tested: local linux
2011-03-14 16:05:44 -05:00
Jonathan Kim
6d8bfb439c [svn-r20246] Purpose:
Fixed Bug 1904 - h5ls : usage of '-a' option is not clear to display expected output

Description:
    Merged from HDF5 trunk r20231.
    Fixed incorrect content and improved help page for -a option of h5ls.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), cmake (jam)
2011-03-14 15:48:36 -05:00
Allen Byrne
609778f05b [svn-r20244] 2011-03-14 14:13:32 -05:00
Raymond Lu
f790c46502 [svn-r20242] Corrected an error in the comments for H5Oget_comment(_by_name) and H5G_loc_get_comment_cb: the return
value is the size of the comment excluding NULL terminator.

No test is needed.
2011-03-14 11:56:54 -05:00
Allen Byrne
02ce3aabfc [svn-r20240] Add HDFGroup to PACKAGE_NAME, as parent folder name for CPack installation configuration. 2011-03-14 11:49:51 -05:00
Allen Byrne
315392ce0a [svn-r20230] Change MEMCHECK condition for test result from if "1" to if NOT "0" to account for type "2" exit codes. 2011-03-11 09:15:54 -05:00
Allen Byrne
7db84201bf [svn-r20229] Add tools bin folder to installation variables.
Bring r20228 from trunk
2011-03-10 16:13:17 -05:00
Albert Cheng
3fb15a6885 [svn-r20227] Entered known problem of --with-mpe does not work with mpich2. 2011-03-10 14:11:45 -05:00
Allen Byrne
68f3df5d02 [svn-r20225] Add enable-error-stack option to new features-tools section. 2011-03-10 08:56:48 -05:00
Quincey Koziol
518190674a [svn-r20220] Description:
Bring r20219 from trunk to 1.8 branch:

	Tell the VFL flush call that the file will be closing, allowing
the VFDs to avoid sync'ing the file (particularly valuable in parallel).

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, w/threadsafe, in production mode
       Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
2011-03-09 22:43:49 -05:00
Peter Cao
b1c27fd49e [svn-r20215] Added ddl file for testing bug 2183 2011-03-09 12:05:44 -05:00
Peter Cao
41a18eaefd [svn-r20214] Fixed bug 2183 2011-03-09 11:50:49 -05:00
Peter Cao
d454f9ddad [svn-r20213] fixed bug 2183 2011-03-09 11:49:52 -05:00
Allen Byrne
5fa726e066 [svn-r20212] Contary to ref man H5O_get_comment does not return null char in size.
Bring r20211 from trunk
2011-03-09 10:54:01 -05:00
Jonathan Kim
6dd040b271 [svn-r20210] Purpose:
Fix Bug 2120 - h5copy: improve to copy an object into same HDF file

Description:
    Merged from HDF5 trunk r20203.
    Before the fix users can't copy an object (dataset or group) with 
    different name if input file (-i) and output file (-o) is same.   
    This feature would be useful to clone any object with different name and 
    reuse contents.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), Cmake (jam)
2011-03-09 10:26:20 -05:00
Allen Byrne
8b8637d014 [svn-r20199] Add expected fail condition to memcheck alternate tests. 2011-03-08 14:14:43 -05:00
Jonathan Kim
8ff85dff9b [svn-r20198] Purpose:
Fixing Bug 2161 - GMQS: h5dump - only on Windows, skip displaying a data value every a certain lines in array type dataset

Description:
    Merged from HDF5 trunk r20188.
    Fixed h5dump for skipping some values for long array type dataset on 
    Windows. This issue only occurred on Windows due to the different 
    return behavior from _vsnprintf() funtion.
     
Tested:
 Windows, jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
2011-03-08 10:24:17 -05:00
Larry Knox
031d71a85b [svn-r20193] Snapshot version 1.8 release 7 (snap1) 2011-03-06 22:26:40 -05:00
Allen Byrne
48fa07cd25 [svn-r20187] Verify/cleanup code due to debugging changes
Tested: local linux
2011-03-04 10:01:43 -05:00
Allen Byrne
71ebded494 [svn-r20185] Enable h5diff tests in valgrind 2011-03-04 08:55:08 -05:00
Allen Byrne
76313da943 [svn-r20183] Add HDF5_USING_MEMCHECKER guards around script mode ADD_TEST. This will replace the list of ignore tests in CTestCustom.cmake file.
Bring back from trunk

Tested: local linux
2011-03-04 08:46:09 -05:00
Allen Byrne
e89007f621 [svn-r20182] BZ2048: Add -E --enable-error-stack option to h5dump.
Brought from trunk after one week of tests.

Tested: local linux
2011-03-04 08:34:18 -05:00
Raymond Lu
070556eca7 [svn-r20181] Bug 2115/605 - I added 2 public macros to the H5public.h - H5_VERSION_GE and H5_VERSION_LE - and put some test cases in tfile.c.
Tested on jam - simple change.  I did h5committest on the same change for the trunk.
2011-03-03 09:50:04 -05:00
Allen Byrne
28c7a0e0ea [svn-r20173] Add h5mkgrp utility to package list 2011-03-01 14:27:40 -05:00
Allen Byrne
f8f0f91aae [svn-r20169] Correct name of tool from hdf2gif to h52gif. 2011-03-01 13:30:30 -05:00
Allen Byrne
acbfc8b22b [svn-r20160] Correct test properties for test order
Tested: local linux
2011-02-25 12:50:52 -05:00
Allen Byrne
7d466c82cf [svn-r20158] Comment out reference to BZ2048 tests 2011-02-25 09:36:00 -05:00
Allen Byrne
7eb98436fc [svn-r20157] Bring CMake changes to branch up to r20156 from trunk 2011-02-25 09:33:50 -05:00
Allen Byrne
3d75165304 [svn-r20152] On windows the name of static zlib library is dependent on the use of HDF_LEGACY_NAMING value when built from SVN/TGZ source. 2011-02-24 06:58:24 -05:00
Allen Byrne
ace309a702 [svn-r20150] Change Name of Legacy naming option 2011-02-23 15:12:07 -05:00
Allen Byrne
a7c2d480f3 [svn-r20143] Correct misplaced bracket 2011-02-22 10:14:11 -05:00
Allen Byrne
7b200f8973 [svn-r20142] Remove duplicated project files 2011-02-22 10:00:25 -05:00
Allen Byrne
38b02c5a76 [svn-r20139] Add new efc files and projects to windows 2011-02-22 09:11:25 -05:00
Allen Byrne
2f638790c1 [svn-r20138] Add new efc files and projects to windows 2011-02-22 08:56:07 -05:00
Allen Byrne
fbc311695b [svn-r20137] Correct hl/fortran/src INCLUDE_DIRECTORIES.
Add new efc files and projects to windows
2011-02-22 08:55:42 -05:00
Quincey Koziol
9b9e0fe850 [svn-r20136] Description:
Bring r20135 from trunk to 1.8 branch:

	Bring r20134 from metadata journaling merging branch to trunk:

	Bring changes from metadata journaling branch to "merging" branch:

Unify routine to mark a dataset's metadata as changed.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2011-02-21 19:08:13 -05:00
Jonathan Kim
6ac5999fe7 [svn-r20133] Purpose:
Fixing Bug 2092 - h5dump does not display index for a dataset

Description:
    Merged from HDF5 trunk r20108 and r20132.
    h5dump skip displaying array indices every certain number when the 
    array type dataset is relatively big. The certain number varies 
    according to the size of each array. 
    This checkin fix the skipping array indices problem. This fix also
    correct indentation of the dataset data output.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), Cmake - jam
2011-02-21 17:30:59 -05:00
Allen Byrne
42388490d6 [svn-r20130] Add test dependencies to order tests
Tested: local linux
2011-02-21 16:08:12 -05:00
Allen Byrne
78bce9b4b3 [svn-r20128] Add fortran mod folder to INCLUDE_DIRS for gfortran 4.2.x.
Add test dependicies to correct the order of tests - cmake 2.8.4 bug - but also will improve cmake parallel testing.

Tested: local linux, jam
2011-02-21 14:58:09 -05:00
Raymond Lu
13edfb2175 [svn-r20125] Bug 1586 - the datatype handler created with H5Tencode/decode had the reference count 0. I fixed it by changing the APP_REF parameter of H5I_register from FALSE to TRUE and added a test case in dtypes.c. The changes to configture.in, tools/misc, tools/lib, config, c++/test, Makefile.am, and fortran are only property changes when I merged from the trunk.
Tested on jam.  But I tested the same fix in the trunk with h5committest.
2011-02-18 15:18:01 -05:00
Albert Cheng
c620068cb6 [svn-r20123] Bug fix (ID: 519)
The content of bin/config_para_ibm_sp.sh has been added to
release_docs/INSTALL_parallel long ago.  Just got around to remove it.

Tested: no need since nothing refer to config_para_ibm_sp.sh except MANIFEST.
Ran bin/chkmanifest.
2011-02-18 14:23:51 -05:00
Quincey Koziol
a05e9f4c43 [svn-r20120] Description:
Bring r20119 from trunk to 1.8 branch:

	Clean up MPI resource leaks in parallel tests, along with a bunch of
compiler warnings.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, w/threadsafe, in production mode
       Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
       Mac OS X/32 10.6.6 (amazon) in debug mode
       Mac OS X/32 10.6.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2011-02-17 17:55:45 -05:00
Frank Baker
7941ab9843 [svn-r20117] Description:
Update copyright dates to include 2011.
2011-02-17 14:05:00 -05:00
Neil Fortner
745b95fdba [svn-r20114] Merge r20112 (open_file_pool) into 1_8 branch.
Tested: jam (open_file_pool branch tested with h5committest)
2011-02-17 11:34:03 -05:00
Jonathan Kim
c4c79ba00c [svn-r20111] Ignore valgrind memleak test on cmake script for H5LS-tgrp_comments and H5DUMP-tarray1_big test cases. 2011-02-17 09:26:41 -05:00
Jonathan Kim
5f9f168845 [svn-r20104] Purpose:
Change to use HDxxx macros.

Description:
    Merged from hdf5 trunk r20103.
    Originally this started for fixing incorrect pointer usage. But that got
    fixed through coverity merge. So this is mainly changing to use HDxxx 
    macros and clean up some related code.
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
2011-02-14 17:47:19 -05:00
Allen Byrne
be3b1ea374 [svn-r20102] Update text file with references to examples.zip file. 2011-02-14 13:01:18 -05:00
Mike McGreevy
10eb756d95 [svn-r20101] Description:
Copy 1.8.6 RELEASE.txt into HISTORY-1.8.txt
  on the 1.8 branch, and update platforms tested
  and tested configurations sections in the 
  1.8 RELEASE.txt file.
2011-02-14 11:04:56 -05:00
Albert Cheng
3553099179 [svn-r20096] Removed AIX 5.3, Added AIX 6.1 as supported platforms.
The problem with the optimization flags for gcc 4.3 and 4.4 has been fixed in
v1.8.5. Removed this known problem entry.
2011-02-13 02:26:45 -05:00
Neil Fortner
1648efb9bb [svn-r20090] Add note to known problems section of RELEASE.txt about run-all-ex.sh on Cygwin.
Tested: kwrite
2011-02-11 16:27:33 -05:00
Allen Byrne
1caf582a4b [svn-r20084] Add missing library reference
Tested: windows
2011-02-11 14:13:37 -05:00
Allen Byrne
e76b6e8bb1 [svn-r20082] DLL visibility names needed to be updated in cstub in windows using cmake
Tested: windows
2011-02-11 13:43:43 -05:00
Allen Byrne
fbaf56d32d [svn-r20081] Update USING file for changes to examples batch files and added missing instructions. 2011-02-11 12:53:15 -05:00
Allen Byrne
c371688afe [svn-r20080] Remove obsolete lines (commented) after correcting Fortran handling in CMake files
Tested: local: linux
2011-02-10 16:25:50 -05:00
Allen Byrne
86327226cc [svn-r20079] Correct Fortran handling in CMake files
Tested: local: linux
2011-02-10 16:12:45 -05:00
Albert Cheng
8d8da5ba84 [svn-r20078] updated mpich version for jam and amani. Removed kagiso. 2011-02-10 15:31:58 -05:00
Albert Cheng
bfbb9a7133 [svn-r20075] Updated for the adding of mpicc/mpif90 as default parallel compiler commands
for linux systems.
2011-02-09 16:07:16 -05:00
Quincey Koziol
eedb56bf52 [svn-r20071] Description:
Bring r20070 from trunk to 1.8 branch:

	Switch order of system includes, to correct error on FreeBSD machines.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
2011-02-09 09:53:22 -05:00
Albert Cheng
333988addd [svn-r20069] Corrected a typo in
PROD_CFLAGS= "-O"
Shell does not allow any spaces between the "=" and righthand side value.
Changed it to
   PROD_CFLAGS="-O"

Tested in jam.
2011-02-08 18:23:46 -05:00
Quincey Koziol
84ef7b0ad2 [svn-r20066] Description:
Bring r20065 from trunk to 1.8 branch:

    Bring changes from Coverity branch to trunk:

r19975:
Fixed potential mem leak at H5O_attr_open_by_name

r19980:
Fix coverity issue 792.
Free tmp_env_prefix in H5Lexternal.c line 365 if it is not NULL but its contents are 0 when it goes out of scope.

r20039:
Eliminate warnings about nested extern and implicit declarations of parallel_print and address Coverity defects 712-781 by #including h5tools_utils.h in h5diff_array.c, h5diff_attr.c, h5diff_dset.c and h5diff_util.c.

r20046:
Purpose: Address TOCTOU warnings in h5jam and h5unjam

Description: Coverity is afraid that the state of the input file could change
between the call to stat() and the call to open().  This is called a time-of-
check time-of-use (TOCTOU) vulnerability.  Modified stat calls to fstat which
uses an open file pointer so it (hopefully) won't complain any more.

r20047:
Addressed coverity issues 135-137, 462-464.  Local pointers that needed to be freed in case of error were moved out of a switch statement in src/H5Tnative.c, set to NULL, and checked before freeing.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on Coverity branch)
2011-02-08 16:40:24 -05:00
Quincey Koziol
20b58606ca [svn-r20062] Description:
Bring r20061 from trunk to 1.8 branch:

    Bring changes from Coverity branch to trunk:

r19930:
Fix memory leaks involving VL attributes in h5repack and h5diff.  The buffers in
copy_attr and diff_attr were not checked for the presence of a vlen before being
freed, and vlen storage was never reclaimed.  Added checks and calls to
H5D_vlen_reclaim().

r19933:
Purpose: Fix memory leak in H5L_move_cb()

Description: H5L_move_cb copied the source link using H5O_msg_copy() but freed
it manually using H5MM_xfree().  Since H5O_link_copy allocates the link using
H5FL_MALLOC, this causes the link to be allocated from the free list but is
never put back on the free list when it is freed.  This prevents the link free
list from shutting down properly.  Modified H5L_move_cb() and H5L_move_dest_cb()
to free the link properly using H5O_msg_free().

r19973:
Fix resource leaks by freeing string created by HD5f2string

r19974:
Issue #345: Inialize buf variable to null

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on Coverity branch)
2011-02-07 23:01:08 -05:00
Albert Cheng
832a3db9a3 [svn-r20059] Changed Linux system to use mpicc as the default parallel C compiler.
mpif90 is already the default parallel Fortran if mpicc is the C compiler.

Tested: Amani (serial and parallel). No need for committest since this change is
limited to Linux system.
2011-02-07 14:48:02 -05:00
Allen Byrne
dd434c8d1f [svn-r20056] Correct comment handling and remove cut/paste oversights
Tested: local linux
2011-02-07 14:22:06 -05:00
Allen Byrne
fb735d6476 [svn-r20055] Corrected extlib option value 2011-02-07 12:50:11 -05:00
Quincey Koziol
90727b6577 [svn-r20053] Description:
Bring r20052 from trunk to 1.8 branch:

    Clean up Coverity warnings, and fix some style issues:

r19735:
Fix for memory leak in test/mf found by valgrind.

r19736:
Fix memory leak in h5repack.  The buffer in copy_objects, when copying the
entire dataset at once, was not checked for the presence of a vlen, and vlen
storage was never reclaimed.  Added check and call to H5D_vlen_reclaim().

r19772:
Change H5assert() to
    if (H5T_VLEN != src->shared->type || H5T_VLEN != dst->shared->type)
        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a H5T_VLEN datatype")

r19774:
removed unused priv.

r19775:
removed unused variables

r19778:
Fix memory leak comparing for variable length data types.

r19834:
Fixed memory leaks found by valgrind.  Memory errors remain for another day.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on branch)
2011-02-05 22:30:19 -05:00
Quincey Koziol
fceb72c657 [svn-r20051] Description:
Bring r20050 from trunk to 1.8 branch:

    Bring sec2 and log VFDs back into agreement.  Correct several compiler
warnings.  Also add some additional statistics to the log VFD and promote the
parameter for H5Pset_fapl_log from 'unsigned' to 'unsigned long long'.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on trunk)
2011-02-05 18:37:02 -05:00
Quincey Koziol
fe7e78f2d9 [svn-r20049] Description:
Bring r20048 from trunk to 1.8 branch:

    Bring Coverity changes back to trunk:

r19733:
Fix memory leak in h5perf_serial.  Global buffer "buffer2" was allocated at the
beginning of do_sio() but never freed.  Added call to free() at end of do_sio().

r19734:
Fix memory leak in iopipe.  Buffer "the_data" was allocated at the beginning of
main() but never freed.  Added call to free() at end of main().


Tested on:
  Coverity branch in daily tests & Mac
2011-02-04 22:00:49 -05:00
Allen Byrne
229e13fece [svn-r20045] Fix bz2127 by dynamically allocating storgae for comments.
Bring 20044 from trunk

Tested: local linux
2011-02-04 15:36:24 -05:00
Allen Byrne
641a70b7e0 [svn-r20043] Add option to build static executables on non-windows machines 2011-02-04 15:07:30 -05:00
Allen Byrne
defbf63228 [svn-r20042] Disable SVN extlibs 2011-02-04 14:55:45 -05:00
Allen Byrne
94cdd543ad [svn-r20041] Created valgrind cacheinit file, Corrected ignore list, updated memcheck defines 2011-02-04 14:54:47 -05:00
Elena Pourmal
06b4b0a755 [svn-r20034] Problem: A typo caused compilation to fail with gfortran 4.6 on fred (Max OS X)
Fixed.

Platforms tested: fred and jam (minor change)
2011-02-02 20:26:38 -05:00
Neil Fortner
afa1394d05 [svn-r20030] Purpose: Fix bug 2131
Description:
When using the scale-offset filter with floating point data or fill values, big
endian machines would save some metadata in the wrong byte order.  This caused
such datasets to yield incorrect data when read on little endian machines.
Fixed the scale-offset filter to always save this metadata in the right byte order (i.e. little endian).

Tested: jam, amani, heiwa (h5committedt); fedora, linew
2011-02-02 09:46:02 -05:00
Raymond Lu
bab158a873 [svn-r20028] I added some test cases for H5Oset(get)_comment and H5Oset(get)_comment_by_name. It's related to bug 2130.
Tested on jam because I've tested the same change to the trunk with h5committest.
2011-01-31 17:28:12 -05:00
Allen Byrne
9d8c76d5f6 [svn-r20021] Update cmake file for testpar changes from r19939 2011-01-31 10:07:20 -05:00
Albert Cheng
20dd18e059 [svn-r20020] Bug 2019: h5perf or h5perf_serial is removed twice. Some systems like AIX do
not like it as it may get into a racing condition when "gmake -j N" is used--
two "rm" commands were trying to remove the same file.

Solution:
Rearranged the Makefile.am so that h5perf or h5perf_serial are built only
once, that is through bin_PROGRAMS only.

Bug 2135: h5perf_serial is not installed in --enable-parallel build.
It was because in parallel build, h5perf_serial is not was not in the 
bin_PROGRAMS list but it was still being built and tested.

Solution:
Rearranged the Makefile.am code so that h5perf_serial is installed too.
(It is easier to make cleaner code to install it than to build and test
h5perf_serial but not test it.)

Tested: Jam, both serial and parallel.
Did not run h5committest because the changes are in perform/ directory only
and I think Jam has given the changes in Makefile a complete test already.
2011-01-28 18:58:19 -05:00
Jonathan Kim
3607d0e11b [svn-r20017] Purpose: fix compiler error on BP (AIX) from recent change for h5repack svn r20007. 2011-01-27 17:42:31 -05:00
Allen Byrne
cbcc7e92bb [svn-r20014] Change use of variable to allow a SITE name to be defined, to using it to extend the build name used in reporting to CDash 2011-01-27 09:59:28 -05:00
Raymond Lu
6e1bfcba9a [svn-r20008] I changed the previous commit from FLOAT to DOUBLE again because Neil prefers to it for fill value test. I
updated the data files, too.

Tested on linew and jam.
2011-01-26 17:22:48 -05:00
Jonathan Kim
83292cf765 [svn-r20007] Purpose:
Clean up tool code. 
    Remove "h5test.h" from tool code. Currently only in h5repack.

Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), linew (solaris-BE), tejeda (mac32-LE)
2011-01-26 16:54:49 -05:00
Allen Byrne
9379ce4c49 [svn-r20003] Add variable to allow a SITE name to be defined 2011-01-26 16:02:50 -05:00
Allen Byrne
d0b0713042 [svn-r20000] Correct typo in check for external library TGZ path define
Tested: local linux
2011-01-26 12:11:42 -05:00
Allen Byrne
391b50f5f6 [svn-r19996] remove reference to jpeg 2011-01-26 09:10:00 -05:00
Allen Byrne
cad19fff1a [svn-r19994] Added ability to use compressed file for external libraries
Bring 19993 from trunk

Tested: local linux
2011-01-25 16:19:46 -05:00
Jonathan Kim
f134f15fcf [svn-r19992] Purpose:
h5dump: add dangling external link test case as part of Chicago project.
    Merged from hdf5 trunk r19971.

Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), linew (solaris-BE)
2011-01-25 16:01:17 -05:00
Quincey Koziol
8bf1158b55 [svn-r19990] Description:
Bring r19989 from trunk to 1.8 branch:

    Finish implementing time tracking for read & seek operations in the 'log'
VFD.  Also clean up code and track total time during all read/write/seek
operations.

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (too minor to require h5committest)
2011-01-25 14:22:31 -05:00
Allen Byrne
31cd7dee91 [svn-r19987] Update list of memtest exlude 2011-01-25 09:29:10 -05:00
Albert Cheng
40b30244ee [svn-r19986] Added "gmake clean" known problem in AIX.
Removed AIX memory problem which was fixed in v186.
2011-01-25 09:23:52 -05:00
Raymond Lu
c7782121ee [svn-r19983] I added a test case for dataset with scale-offset filter into cross_read.c and updated the data files from BE, LE, and VMS. This is the test for bug 2131 that dataset of FLOAT with scale-offset filter can't be read across BE and LE.
Tested on jam and linew.
2011-01-24 15:39:17 -05:00
Albert Cheng
f4117c1436 [svn-r19979] Patched in a temporary fix so that:
When $HDF5ExpressTest is NOT set or when it is set to 1 or 0, it does not
  skip test.
When $HDF5ExpressTest is set other than values above, it may skip tests.
  The following message is printed:
  Test skipped
  when some tests are really skipped.

This is a temporary patch so that v186 can be tested. A more permanent fix
is needed, later.

Tested: h5commitest.
2011-01-21 15:53:59 -05:00
Larry Knox
581c55b789 [svn-r19970] Update config.sub to the latest available version (timestamp='2008-01-16', Rev. 1.361) from
http://cvs.savannah.gnu.org/viewvc/config/config/.

Tested with h5committest on amani, heiwa, and jam.
2011-01-20 11:52:33 -05:00
Neil Fortner
159535ff5c [svn-r19968] Add note on parallel failures to RELEASE.txt 2011-01-19 10:53:45 -05:00
Albert Cheng
5059d3933b [svn-r19964] Purpose:
This continues the previous work and this one breaks the
checker_board_hyperslab_dr_pio_test() into 4 smaller
sub-tests.

Tested: h5committest plus jam serial.
2011-01-17 19:07:50 -05:00
Albert Cheng
c16e4f5bd4 [svn-r19962] Purpose:
The shape same tests ran too long. Break them into smaller subtests
so that they can finish sub-test in a shorter time. Easier to tell
which one sub-test is taking too much time and/or errors occur in
one fo the sub-tests.

This one breaks the contig_hyperslab_dr_pio_test() into 4 smaller
sub-tests.

Tested: h5committest
2011-01-16 05:19:46 -05:00
Albert Cheng
473b1ac882 [svn-r19960] Bug: the VRFY macro, for some reason, called MPI_Finalize() when it encountered
error and wanted to exit the test program. This was not good since if only a
subset of processes called MPI_Finalize(), the other processes will likely
hang.  That happened in AIX that it would waited till the alarm signal to kill
the processes. Definitely a waste of time.
Solution: Changed it to call MPI_Abort.

That showed another problem. HDF5 has setup atexit post-process to try to close
unclose objects, release resources, etc.  But if the MPI processes have
encountered an error and has been aborted, it is not likely any more MPI calls
can function properly. E.g., it would attempt to free some communicators in
the HDF5 MPIO file handle. It would again hang.
Solution: need to call H5dont_atexit() to disable any atexit post-processing.
This must be done early, like before calling H5open. This is added to each
parallel test main program.

testphdf5.h:
    Changed macros VRFY and MESG. Added comments too.

testphdf5.c:
t_mpi.c:
t_cache.c:
t_shapesame.c:
    Added H5dont_atexit.

Tested: h5committest.
2011-01-16 04:53:22 -05:00
Albert Cheng
e684679ccd [svn-r19955] Removed since its code has been copied to t_shapesame.c. 2011-01-14 11:30:18 -05:00
Allen Byrne
6f9490e444 [svn-r19950] Correct CPack confusion with the same for two different functions (not case-sensitive) 2011-01-13 14:21:33 -05:00
Albert Cheng
e884d06060 [svn-r19946] Bug fix: testph5.in failed to run the 't_shapesame -p' by claiming it could
not find t_shapesame in daily test.  Turned out the mpiexec launcher is
working like real shell and the daily test signon (hdftest) does not have
"." in its $PATH.  So, it could not automatically look for executables in
the current directory.

Solution:
Change the executable to an explicit ./t_shapesame. Now mpiexec can "find"
it.

Tested by hand in Amani.
2011-01-12 15:39:04 -05:00
Albert Cheng
f0489be2da [svn-r19940] Updated with new file ./testpar/t_shapesame.c 2011-01-11 23:27:03 -05:00
Albert Cheng
7b67295c19 [svn-r19939] Purpose:
Moved the two shape same tests from testphdf5 to a separated executables,
named t_shapesame. The shape same tests runs too long for testphdf5.
In a separated executalbe, it will be easier to separate any errors in
testphdf5 sub-tests from the shape same tests.

t_shapesame.c:
   Contains the shape same tests (cloned from t_rank_projection.c) plus
   a duplicate of "testphdf5.c" for now. After verifying it is correct, more
   cleanup is needed.
testphdf5.c:
   Removed the two shape same tests (chsssdrpio & cbhsssdrpio).
Makefile.am:
Makefile.in:
   Added t_shapesame as a new test executable.
   Removed t_rank_projections.c from part of testphdf5.
testph5.sh.in:
   Temporary added the "t_shapesame -p" test for testing shape same tests
   with MPIO-Posix VFD.

Tested: h5committested, plus serial jam.
2011-01-11 20:21:44 -05:00
Allen Byrne
56d45ef7b9 [svn-r19935] Add new packed bits tests to legacy test script 2011-01-10 08:49:50 -05:00
Allen Byrne
f356658bc2 [svn-r19931] Add packed bits tests to MemCheck ignore list 2011-01-07 14:45:11 -05:00
Allen Byrne
2e6a562038 [svn-r19928] Remove pragma statement. 2011-01-07 13:44:27 -05:00
Allen Byrne
008fbc9d45 [svn-r19925] bring BZ1165 solution from trunk. 2011-01-07 10:37:14 -05:00
Allen Byrne
fa754ebcbd [svn-r19920] Update files for CPack use. 2011-01-06 14:26:23 -05:00
Allen Byrne
b07be6d521 [svn-r19916] Add hh modifier to signed char printf format string. Added h5dump test to verify that signed/unsigned datasets print correctly.
Solves problem on heiwa with Signed char of 8 bits
Tested: local linux, heiwa
2011-01-05 13:58:21 -05:00
Allen Byrne
13f204c280 [svn-r19915] Remove warning about H5_BUILT_AS_STATIC_LIB 2011-01-05 13:54:00 -05:00
Allen Byrne
982a7f0bcb [svn-r19913] Correct format of empty parameter
Tested: local linux
2011-01-05 13:26:55 -05:00
Allen Byrne
85d3499528 [svn-r19912] Add instruction to get native type before checking the type against H5T_NATIVE_xxxx
Tested: heiwa where it had failed
2011-01-05 11:22:59 -05:00
Allen Byrne
4b3bdd519c [svn-r19911] Change how LINK_FLAGS for fortran are appended on Windows - correct for just shared libs
bring r19910 from trunk
2011-01-05 10:04:35 -05:00
Allen Byrne
865cc51435 [svn-r19908] Change how LINK_FLAGS for fortran are appended on Windows 2011-01-05 09:45:09 -05:00
Allen Byrne
3771df0757 [svn-r19906] Windows: Correct how fortran links in CRT library. Also correct macro use for checking libtype.
Tested: Windows
2011-01-04 13:23:24 -05:00
Allen Byrne
dfd0f597b1 [svn-r19905] Corrected typo of offset in comment at top of reference files 2011-01-04 12:01:23 -05:00
Allen Byrne
00668298d0 [svn-r19904] Add missing .ddl extension onto packed bits command line in test script. 2011-01-04 11:05:29 -05:00
Allen Byrne
f5f8ea0729 [svn-r19903] Need to check if the length of mask is equal to the size of the mask and skip the shift.
Tested: local linux
2011-01-04 09:53:27 -05:00
Allen Byrne
22ad8ccadd [svn-r19902] Use an unsigned long long variable to generate the mask instead of a constant.
Tested: windows where it had failed.
2011-01-03 12:28:13 -05:00
Allen Byrne
ef3475d68d [svn-r19900] Correct typo in comment 2010-12-31 09:47:24 -05:00
Allen Byrne
8a7bf1ae4e [svn-r19898] Remove use of /MT compile flag for building static libs and programs. Added BUILT_AS_STATIC_LIBRARY define to set the windows import/export defines correctly for static libraries. 2010-12-30 09:03:15 -05:00
Allen Byrne
a863723db8 [svn-r19897] Extend packed bits and testing to 64 bit integers.
Tested: local Linux
2010-12-30 09:00:48 -05:00
Jonathan Kim
ab0ad9ff02 [svn-r19893] Purpose:
Bug 2089 - GMQS: h5diff segfault on a compound dataset with fixed length + 
    vlen string type order

Description:
    Merged from HDF5 trunk r19892.
    This is fix for the segfault when h5diff compares a compound dataset with 
    combination of fixed length string types and vlen string types in certain 
    orders. Optimized vlariable length string handling codes. The fix is 
    referred from h5dump handling vlen strings. 
    For testing, several compound datasets were added with various combinations.
    Previous failed cases:
     - Vlen string, Fixed length string, Vlen string, Fixed length string
     - Fixed length string, Fixed length string, Vlen string, Vlen string
     - Fixed length string, Vlen string, Fixed length string, Vlen string
     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), linew (solaris-BE)
2010-12-28 14:36:30 -05:00
Allen Byrne
3a581adac6 [svn-r19883] Corrected time_of_day define configuration, found during parallel CMake build.
Tested: local linux, fix confirmed by user
2010-12-13 08:27:47 -05:00
Allen Byrne
a296f560fd [svn-r19881] Add new file. 2010-12-08 17:03:18 -05:00
Allen Byrne
f8049b3f36 [svn-r19877] Add new file. 2010-12-08 15:54:01 -05:00
Allen Byrne
0d15ffa78a [svn-r19875] Correct HDF5 configuration variables for CPack/Install.
Tested: windows
2010-12-08 15:13:43 -05:00
Allen Byrne
7490e286e2 [svn-r19874] Add other HDF5 configuration variables. 2010-12-08 12:55:32 -05:00
Allen Byrne
1914aff4f7 [svn-r19871] Add tests for examples.
Bring r19870 from trunk

Tested: local linux
2010-12-03 17:27:51 -05:00
Allen Byrne
5606cd6f9b [svn-r19866] Correct INSTALL_PREFIX handling 2010-12-02 09:32:12 -05:00
Allen Byrne
e58706fc3b [svn-r19863] Add install commands for documents 2010-12-01 21:17:54 -05:00
Larry Knox
e48acc4119 [svn-r19862] Updated libtool to version 2.4, autoconf to version 2.68, and m4 to version 1.4.15.
Tested with h5committest on amani, jam and heiwa.
2010-12-01 10:12:06 -05:00
Raymond Lu
2d6b9fe75f [svn-r19859] I added accum.c to the test list.
Not tested yet.
2010-11-29 16:44:43 -05:00
Raymond Lu
1cd48bcff6 [svn-r19858] I added a few new tests: filter_fail.c, links_env.c, space_overflow.c, and testmeta.c.
Not tested yet.
2010-11-29 15:40:37 -05:00
Raymond Lu
6c6dae34d9 [svn-r19856] I changed H5FSfile.c to H5Fsfile.c according to the source files.
Not test yet.
2010-11-29 11:58:17 -05:00
Allen Byrne
6eec7b5d36 [svn-r19855] Correct external library generated headers packing for install/cpack when not using svn builds 2010-11-27 13:40:08 -05:00
Allen Byrne
d0e501bd07 [svn-r19853] Add back, dropped during edit - create directory - for external projects in cpack. 2010-11-26 12:28:39 -05:00
Albert Cheng
122b4648cb [svn-r19851] Problem: AIX prints some error messages when MPI_Abort is called. That caused
the output matching some problems.

Solution: Add stderr filtering for AIX ERROR: messages.

Tested: NCSA BP.
2010-11-26 11:00:26 -05:00
Albert Cheng
43fa57565f [svn-r19848] Bug 1917: big test failed especially in Widows.
big.c:
Changed the test to run Huge Dataset (tens of GB), Xtra large dataset(4GB big),
Large dataset (2GB big), or merely 1GB big, depending on if the file system
supports sparse file or if it supports larger than 32bigs I/O.

H5FDstdio.c:
Removed an incorrect condition that whether STDIO VFD supports
larger than 32bits I/O depends on the support of fseeko.  Windows does not
use that. Instead, it uses _fseeki64 to support larger than 32bits I/O.

Tested: h5committest, jam (serial).
2010-11-25 19:56:17 -05:00
Allen Byrne
8f23cabbd8 [svn-r19846] Correct external library generated headers packing for install/cpack 2010-11-25 11:52:10 -05:00
Allen Byrne
60b792758a [svn-r19844] Remove quotes from BLDTYPE parameter in building external projects from svn
Tested: Windows
2010-11-25 10:34:27 -05:00
Allen Byrne
edd6e88f0d [svn-r19842] Correct external library packing for install/cpack. On windows using shared libs, dlls still needed to be put in the runtime folder for tests. 2010-11-24 11:30:14 -05:00
Allen Byrne
3ceb5f60e9 [svn-r19838] Correct external library packing for install/cpack
Tested: Windows
2010-11-23 16:06:15 -05:00
Raymond Lu
7dd819a851 [svn-r19832] Bug fix - In the code of N-bit filter, one line (the last line of H5Znbit.c in H5Z_nbit_compress -
"*buffer_size = j + 1;" was mistakenly taken out by someone.  It is necessary to update the new size.  I
put it back and made 2 test cases for integer and float to verify the correct dataset size.

Tested on jam, heiwa, and amani.
2010-11-19 14:11:35 -05:00
John Mainzer
2f5d9e1c8a [svn-r19831]
Checked in fix for failure in shape same tests that appeared after
Quincy's recent massage of the test code.  The problem was a race
condition created when Quincey re-worked the code selecting either
collective or independant I/O.

Previously, when independant I/O was selected in the test, I had
used H5Pset_dxpl_mpio() and H5Pset_dxpl_mpio_collective_opt() to
select collective semantics with independant I/O going on under
the hood.  Quincey modified this to call H5Pset_dxpl_mpio() when
collective I/O was selected, and do nothing in the independant I/O
case.  As a result, processes were able to race ahead and
modify the initial values of the data set before some processes
had verified that the initialization was correct.

Solved the problem by adding barriers, and making all barriers
dependant on independant I/O being selected.

Tested parallel on amani and phoenix.  h5committested.
2010-11-19 14:11:30 -05:00
Allen Byrne
4bc498cbe1 [svn-r19826] Correct SZIP 'warning ignore' regex 2010-11-19 09:54:21 -05:00
Vailin Choi
64a7862ffe [svn-r19824] 1. Made fixes as in rev #19813 in trunk:
a) Add comments to test_4() in test/external.c about the name "/ link".
   b) Fix one memory leak in src/H5Lexternal.c: free memory pointed to by tmp_env_prefix for HDF5_EXT_PREFIX case.
3. Made changes for bug #1930 as in rev #19783, #19781 in trunk.
4. Made corresponding CMake changes as in rev #19782 in trunk.
2010-11-18 14:11:51 -05:00
Allen Byrne
116391d56a [svn-r19821] Update cacheinit.cmake with current HDF options. 2010-11-18 11:11:16 -05:00
Jonathan Kim
cd1b795990 [svn-r19819] Purpose:
Change to skip copying when a dataset is not allocated.
    Merged from hdf5 trunk r19818.

Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE)
2010-11-18 09:50:35 -05:00
Albert Cheng
17642410fc [svn-r19815] Bug 2091: updated with the removal of Metraowerks compiler code. 2010-11-17 18:25:07 -05:00
Allen Byrne
47bdeb8b0c [svn-r19810] Correct define typo 2010-11-17 13:20:55 -05:00
Mike McGreevy
e23584d6b7 [svn-r19809] Purpose:
Add "--enable-unsupported" configure flag.

Description

    The "--enable-unsupported" configure flag allows a user to
    prevent configure from failing due to the use of incompatible
    options, such as c++ with parallel.

    Specifying --enable-unsupported will bypass all of configure's
    checks for incompatible and unsupported combinations of flags. 
    There are no guarantees that the library will be configured
    in any sort of working condition, but that's the risk of
    using the --enable-unsupported flag.

    I've changed all default error messages related to unsupported
    option combinations to indicate that using --enable-unsupported
    will allow configure to complete without error.

Tested:

    by hand on jam, tested all unsupported configure option 
    combinations with and without the new flag, making sure
    the flag allows configure to finish without error. 
    (h5committest wouldn't do any good here; it won't test
    the new option, and since we're enabling unsupported
    combinations, failures are likely to occur in build or
    tests with --enable-unsupported turned on anyways. 
    That's why they're unsupported!)
2010-11-17 13:08:31 -05:00
Allen Byrne
e0225c6496 [svn-r19807] Corrected REGEX of warning exception 2010-11-17 12:00:17 -05:00
Mike McGreevy
f0be96f441 [svn-r19804] Description:
Update ACKNOWLEDGMENTS file

Tested:

    none. documentation update only.
2010-11-17 11:43:15 -05:00
Allen Byrne
3f33414294 [svn-r19802] Update valgrind ignore tests. 2010-11-17 10:12:54 -05:00
Mike McGreevy
f396947f64 [svn-r19800] Purpose:
Add additional error checking to catch erroneous user input.

Description:

    Attempting to retrieve a links's name by index in the case
    where the link is external and the file that the object is
    located in doesn't exist was causing a segmentation fault
    (in production) and an assertion failure (in debug).

    The segfault wasn't occuring until the metadata accumulator
    attempted a write, so I've added error checking higher in
    the pipeline in H5O_protect (where there was previously just
    an assert) to catch this. I've also added additional asserts
    in the H5F layer where there were none.

    Additionally, I added another case to the links.c test to
    test that this fails gracefully instead of segfaulting or 
    asserting out.

Tested:

    h5committest and gandalf (mac os x)
2010-11-17 10:08:53 -05:00
Albert Cheng
10c3eb0a9f [svn-r19797] Bug 2091: remove all Metraowerks compiler code bracheted by __MWERKS__.
Metraowerks compiler is no more. Make the code cleaner.

Tested: H5committest plus jam serial.
2010-11-16 19:33:48 -05:00
Allen Byrne
0ec9ac12ef [svn-r19793] Revised the valgrind ignore list, added simple execute command tests for when doing a valgrind test of tools that only use a cmake script for testing. 2010-11-16 13:40:21 -05:00
Allen Byrne
1ab76b1117 [svn-r19791] CMake: Correct Error tests. Add Deprecated Symbols option.
Tested: local linux
2010-11-16 12:07:40 -05:00
Allen Byrne
ef26f71457 [svn-r19788] Check for CMAKE_BUILD_TYPE set if not WIN32 in library prefix naming. Unset needs prefix to be lib. 2010-11-16 10:27:02 -05:00
Allen Byrne
79fe0373aa [svn-r19780] Comment out H5_SIZEOF_PTRDIFF_T define to fix Windows errors.
Bring r19779 from trunk
2010-11-13 17:14:57 -05:00
Allen Byrne
d7118c7e1c [svn-r19777] Corrected handling of largefile and linux_lfs handling.
Synched cmake version of H5pubconf.h.in
Added another variation of H5detect warning to ignore list.
2010-11-12 16:18:51 -05:00
Allen Byrne
ae1a09771c [svn-r19770] Correct comment about VS defines and next release 2010-11-12 09:27:56 -05:00
Albert Cheng
531a1e64b2 [svn-r19768] Problem:
The parallel test ran out of memory because 32bit binary default to use
less memory.  Changed RUNPARALLEL to use larger memory (LDR_CNTRL=MAXDATA=0x2000
0000@DSA).

Tested: BP parallel.
2010-11-11 17:51:02 -05:00
Albert Cheng
01530ebaa5 [svn-r19763] Changed NPROCS default value from 3 to 6. 2010-11-11 13:13:21 -05:00
Jonathan Kim
bea08cb3a8 [svn-r19760] Purpose:
Fix compile error for Windows from previous checkin r19758.

Description:
    Previous log:
    Improve h5diff performance.
    The following changes for improving h5diff performance:
    1) use HDmemcmp() before comparing each elements 
       (memcmp() is very fast at both linew and jam)
    2) replace the expensive H5Tequals() calls
    3) retrieve datatype information at dataset level not each element level 
       for compound datasets


Tested:
 jam (linux32-LE), Windows
2010-11-11 11:55:51 -05:00
Jonathan Kim
b82c6a4f62 [svn-r19758] Purpose:
Improve h5diff performance.

Description:
    The following changes for improving h5diff performance:
    1) use HDmemcmp() before comparing each elements 
       (memcmp() is very fast at both linew and jam)
    2) replace the expensive H5Tequals() calls
    3) retrieve datatype information at dataset level not each element level 
       for compound datasets
    Merged from hdf5 trunk r19757.


Tested:
 jam (linux32-LE)
2010-11-11 10:31:11 -05:00
Albert Cheng
6ebd129021 [svn-r19755] Updated the compilers versions of AIX 5.3 and 6.1.
Removed tests platforms of Cray XT3 and Glory, both SNL machines since they
were not tested.
Added AIX shared library known problem.
2010-11-10 18:07:51 -05:00
Allen Byrne
09b11b5d6d [svn-r19754] Added flush2 to list of memcheck ignore - flush2 needs flush1 to generate files
Bring r19753 back from trunk.
2010-11-10 12:29:52 -05:00
Jonathan Kim
3b7a375179 [svn-r19752] Purpose:
Fixed Bug# 1979 Output from h5ls -rdlS on nested compound datatypes is 
    difficult to parse.

Description:
    Update to add curly brackets for the nested compound members, when
    S (--simple) option is used with -l (--label), so user can tell 
    which members blong to which compound type.
    Merged from hdf5 trunk r19751.


Tested:
 jam (linux32-LE), amani (linux64-LE)
2010-11-09 16:32:26 -05:00
Allen Byrne
f5c14780ca [svn-r19748] Updated windows tested machines to indicate which build system was used 2010-11-09 10:23:45 -05:00
Quincey Koziol
3e1833e1ac [svn-r19745] Description:
Bring r19743-19744 from trunk to 1.8 branch:

	Correct tests to use native datatypes consistently, and also to use
"normal" methods for performing collective I/O.  Also, minor cleanups for
zeroing out buffers, etc.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-11-08 21:18:18 -05:00
Allen Byrne
099d2840de [svn-r19738] Added another version of H5detect warning to ignore list
Added H5convert warning to ignore list

Added flush1 to list of memcheck ignore - design precludes valgrind correctness
2010-11-05 16:28:51 -05:00
Jonathan Kim
2ba18afd97 [svn-r19732] Purpose:
Fix the test script from the previous checkin r19730. expect output is 
    under misc/testfiles/ in srcdir.
    Previous Log:
    [BZ2072]Add compare output to expected test for help and version options 
    of mkgrp.

Tested:
 jam (linux32-LE)
2010-11-05 10:23:31 -05:00
Jonathan Kim
8656ceee08 [svn-r19730] Purpose:
Fix the test script from the previous checkin r19727 due to contiguous 
    build system failure. 
    Previous Log:
    [BZ2072]Add compare output to expected test for help and version options 
    of mkgrp.

Tested:
 jam (linux32-LE)
2010-11-04 17:40:51 -05:00
Quincey Koziol
51bb07ba91 [svn-r19728] Description:
Bring r19725 from trunk to 1.8 branch:

	Add a little bit of extra info to the output from h5debug when
displaying global heaps, and make it dump the file's superblock again when
an address is not given on the command line.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(too minor to require h5committest)
2010-11-04 16:34:26 -05:00
Allen Byrne
9f58bc50cf [svn-r19727] [BZ2072]Add compare output to expected test for help and version options of mkgrp.
bring r19726 back from trunk

Tested: local linux
2010-11-04 15:51:57 -05:00
John Mainzer
833f62c8e1 [svn-r19723]
Bug fix for failure in the round robin metadata write ojbect header
metadata confusion test that appeared after Albert modified the test.

Cursory commit test.  No test on Abe as that system is down, the
fix is very minor, and it seems to work in the 1.8.6 branch
2010-11-03 16:31:24 -05:00
Allen Byrne
8d66fb7580 [svn-r19719] Correct external lib handling for Windows 2010-11-02 16:55:48 -05:00
Jonathan Kim
13c16c8982 [svn-r19713] Purpose:
Fixed h5diff to handle variable-length strings in a compound dataset 
    correctly. Also variable-length string array in a compound dataset.
    Bug #1989.
    

Description:
    Garbage values were displayed when h5diff compared variable-length 
    strings (or string array) in a compound type dataset. 
    Merged from hdf5 trunk r19712.


Tested:
 jam (linux32-LE), heiwa (linuxppc64-BE)
2010-11-02 11:57:16 -05:00
Allen Byrne
d3770ffaef [svn-r19710] Updated Dashboard Timeout setting 2010-11-02 09:56:28 -05:00
HDF Tester
e91c5365cb [svn-r19708] Current settings for valgrind tests. 2010-11-02 09:35:51 -05:00
Allen Byrne
2c15a77019 [svn-r19705] Added VFD test options.
Tested: local linux
2010-11-01 17:00:03 -05:00
Allen Byrne
ac8e3e509f [svn-r19703] Removed special fheap timeout - replaced by timeout set in CTestConfig.ctest
Added MemCheck Ignore tests for repeated tools tests
Added Debug flag for windows

Bring r19702 from trunk
2010-11-01 10:58:00 -05:00
Albert Cheng
2c45d801c9 [svn-r19695] Changed the default NPROCS from 3 to 6 for MPI tests.
Tested: in jam only since that is that only parallel tests h5committest
would have done.
2010-10-28 12:22:18 -05:00
Raymond Lu
e05528194d [svn-r19693] Bug 2008 - IBM Power6 Linux uses special conversion algorithms to convert some values from long
double to (unsigned) long and from (unsigned) long to long double.  I added tests in configure.in
to detect these algorithms.  Before I can figure out them, I disable the tests in dt_arith.c.

Tested on jam, heiwa, amani, IBM Power6 Linux machine in Holland (huygens.sara.nl).
2010-10-28 11:34:31 -05:00
Albert Cheng
71bf205c79 [svn-r19692] added PrintErrorStackOn and PrintErrorStackOff to turn auto error stack
printing on and off.
2010-10-28 11:19:52 -05:00
Allen Byrne
9b956eb466 [svn-r19690] Added new h5copy test
Tested: local linux
2010-10-28 11:10:04 -05:00
Allen Byrne
3b2af9e08f [svn-r19688] Spelling mistake in TARGET_WIN_PROPERTIES broke cmake configuration 2010-10-28 09:41:57 -05:00
Albert Cheng
bec2009066 [svn-r19683] Bug 2054: Round Robin code caused H5FFlush to corrupt a file.
John Mainzer fixed the bug and added a test which wrote file and flush a few
time; close the file then open it by serial and read simple structure. I
changed the test to two parallel running parts of ..._writer and ..._reader
and have the reader verify the file after every flush by the writer.

Tested: parallel in Jam and Amani.
2010-10-28 00:47:34 -05:00
Allen Byrne
ecc988e0fe [svn-r19678] Remove duplicate files in reference list for copying 2010-10-27 15:13:42 -05:00
Allen Byrne
b6bb53801a [svn-r19677] Added h5mkgrp tests
Added valgrind test variables and increased 

Tested: Local linux
2010-10-27 13:27:05 -05:00
Allen Byrne
68690772e0 [svn-r19676] MPI_ checks were failing due to wrong #include of mpi.h in cmake setup
From Community
2010-10-27 10:57:24 -05:00
Quincey Koziol
901afe107a [svn-r19671] Description:
Bring r19668 from trunk to 1.8 branch:

    Do some extra range-checking on H5Pset_elink_acc_flags() calls.

    Clean up some minor compiler warnings also.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-10-26 20:54:11 -05:00
Allen Byrne
e293748ca2 [svn-r19663] Add warnings to CDash ignore list 2010-10-22 09:44:15 -05:00
Allen Byrne
8650ea52db [svn-r19661] Add tab char to regex for warnings 2010-10-22 08:46:28 -05:00
Quincey Koziol
b4efcabc8a [svn-r19657] Description:
Bring r19656 from trunk to 1.8 branch:

Move B-tree sanity checking down below revised node unprotect calls
in H5B_insert().

Tested on:
   Mac OS X/32 10.6.4 (amazon) w/debug=all
  (too obscure to require h5committest)
2010-10-21 10:43:42 -05:00
Quincey Koziol
d1117ac78c [svn-r19655] Description:
Bring r19654 from trunk to 1.8 branch:

Bring Coverity revisions from branch back to trunk, and clean up some other
misc. compiler warnings also.

r19500:
Fix coverity items 1446 and 1447.  Moved up calls to memset in test_cont in
ohdr.c so the test never tries to close uninitialized locations.

r19501:
Fix coverity items 1398-1445.  Various uninitialized variable errors in fheap.c.

r19502:
Fixed coverity issue 579 and some additional warnings in the file as well.

r19503:
Bug fix: This fix addressed the "RESOURCE_LEAK" problems #789 and 790, run 26

r19504:
minor mods to try to keep coverity from flagging false positives.

r19505:
Fixed coverity issues 566 - 571.  Declared variables that are passed to functions that use them as arrays to be arrays of size 1.


Tested on:
   Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel
  (h5committested on coverity branch)
2010-10-21 09:08:13 -05:00
Allen Byrne
afd3511982 [svn-r19653] Put back deleted library check in configure.
Remove shared library check around ws2_32.lib linking in test library. Issue on windows static builds.

Tested: windows
2010-10-20 11:43:37 -05:00
John Mainzer
b6b910bc6e [svn-r19647]
Replaced calls to H5Dcreate() and H5Acreate() with calls to H5Dcreate2()
and H5Acreate2() respectively in t_mdset.c.

This was done to repair a compile failure that occured on a build
with the --with-default-api-version=v16 config option

Cursory commit test
2010-10-19 16:18:47 -05:00
Allen Byrne
758b64c580 [svn-r19644] Correct configuration library checks symbol names 2010-10-19 15:28:29 -05:00
Jonathan Kim
6a6314af5d [svn-r19640] Purpose:
Fix nightly build error on non-linux platform related to 
 the Fix for bug# 2040 - h5copy should fail gracefully for expected failure copying to non-exist nested group without -p option. (r19634)

Description:
 - Updated to use standard C functions instead of strndup() due to failure on non-linux platforms.
 - Changed to Use HDxxx macros for future reference.
 - Correct indentation.


Tested:
 jam, linew(solaris), mac (tejeda)
2010-10-19 12:40:31 -05:00
Quincey Koziol
28a43b2058 [svn-r19639] Description:
Bring r19638 from trunk to 1.8 branch:

	Bring some of Neil's changes to help support SWMR access in the v1
B-tree code from the revise_chunks branch back to the trunk.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-10-19 12:04:37 -05:00
Jonathan Kim
0c6929dfde [svn-r19634] Purpose:
Fix for bug# 2040 - h5copy should fail gracefully for expected failure copying to non-exist nested group without -p option.

Description:
 Fixed h5copy to fail gracefully when copying object to non-exist group without -p option. This is expected to be failed.
 Merged from hdf5 trunk r19633.


Tested:
 jam, amani
2010-10-18 18:17:33 -05:00
John Mainzer
5abc2e63ff [svn-r19631]
Modified test code in t_mdset to use H5Dopen2() instead of H5Dopen1().
This should fix the compile failure when we used --disable-deprecated-symbols

Cursory commit test
2010-10-18 17:13:54 -05:00
Jonathan Kim
331bc7fa0f [svn-r19627] Remove syntax error mistakenly added in from previous checkin. 2010-10-18 16:38:50 -05:00
Allen Byrne
65748bdf09 [svn-r19626] Because h5diff changed and now can compare groups recursively, h5copy diff tests no longer should fail.
Tested: windows
2010-10-18 16:04:19 -05:00
Mike McGreevy
ee72596c8e [svn-r19624] Purpose:
- Fix a bug in each of the metadata accumulator source and test code
Description:
    - In accum.c test file, switch dxpl_id used in H5F_accum_*
      function calls to H5P_DATASET_XFER_DEFAULT (instead of 
      H5AC_dxpl_id), to fix compilation on windows.
    - Changed boundary checking from <= to < when checking
      if a read from disk with overlapping dirty metadata in the 
      accumulator has the read ending such that it aligns exactly
      with the dirty accumulator (line 234 of H5Faccum.c).
Tested:
    - h5committested
2010-10-18 15:46:36 -05:00
John Mainzer
93b2b7cf07 [svn-r19621] Port fo fix for the round robin parallel flush bug caused by the failure
of the H5Ocache.c code to update its image of the on disk representation
of the object header on a call to clear callback.

This wasn't an issue as long as all flushes of the object header were 
made from the same process, but if an object header is modified, and 
then flushed on one process and cleared on the rest, the changes were
not be reflected in the images of the on disk representation on all 
processes where the object header was cleared rather than flushed.

If one of these processes did the next flush, the changes were lost in
the on disk representation.

Fixed this by causing all dirty messages and to be written to the copy 
of the on disk image maintained by the object header code on both flush 
and clear.

Also added associated test code in t_mdset.c.

Also checking in some cache debug code developed while chasing this bug.

Commit tested and tested (parallel) on phoenix.
2010-10-17 02:52:19 -05:00
Mike McGreevy
1c14d3e96d [svn-r19618] Purpose:
Bring metadata accumulator fixes and tests into 1.8
Description:
    Changes consist of addition of tests for H5Faccum.c source code,
    as well as some fixes that address some discovered bugs in the
    metadata accumulator on several corner cases.
Tested:
    h5committested
2010-10-15 14:59:07 -05:00
Allen Byrne
d6410ca195 [svn-r19614] Add option command to set flags OFF for if not using ExternalProjects 2010-10-15 13:17:27 -05:00
Allen Byrne
ac4461a25e [svn-r19612] Add missing XXX_USE_EXTERNAL flags for ExternalProjects 2010-10-15 10:33:20 -05:00
Allen Byrne
3309c8168c [svn-r19608] Add message when ExternalProject is built 2010-10-15 09:50:52 -05:00
Jonathan Kim
051d66e755 [svn-r19604] Purpose:
Backout the previous changes (r19599):
 (Fix for bug# 2040 - h5copy should fail gracefully for expected failure copying to non-exist nested group without -p option.)

Description:
 Forgot to delete this file which was added.
 Some failure occurred on talwit, so backout the changes and will put it back after fix.
 (Fixed h5copy to fail gracefully when copying object to non-exist group without -p option. This is expected to be failed.
 Merged from hdf5 trunk r19598.)
2010-10-14 18:53:09 -05:00
Jonathan Kim
b40ed7bfd4 [svn-r19603] Purpose:
Backout the previous change:
 (Fix for bug# 2040 - h5copy should fail gracefully for expected failure copying to non-exist nested group without -p option.)

Description:
 Some failure occurred on talwit, so backout the changes and will put it 
 back after the fix.
 (Fixed h5copy to fail gracefully when copying object to non-exist group without -p option. This is expected to be failed.
 Merged from hdf5 trunk r19598.)
2010-10-14 18:41:40 -05:00
Allen Byrne
4696e799d9 [svn-r19601] Add ExternalProject note 2010-10-14 17:00:26 -05:00
Jonathan Kim
5b444e61a2 [svn-r19599] Purpose:
Fix for bug# 2040 - h5copy should fail gracefully for expected failure copying to non-exist nested group without -p option.

Description:
 Fixed h5copy to fail gracefully when copying object to non-exist group without -p option. This is expected to be failed.
 Merged from hdf5 trunk r19598.

Tested:
 jam, amani
2010-10-14 16:08:15 -05:00
Albert Cheng
8ed77258a3 [svn-r19593] Bug fix: H5D_create should return NULL on failure but one of return code was
FAILED. Rejected by the xlc compiler.

Solution: changed it to reutrn NULL.
Tested: UP make passed. serial passed but some parallel tests failed. The
parallel tests failed were not related to this fix.
2010-10-13 18:36:03 -05:00
Albert Cheng
726463178d [svn-r19591] Bug fix: since the addition of
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
kind of mess things up for the parallel HDF5 configure.
Changed it to 
    RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA MP_PROCS=1 MP_TASKS_PER_NODE=1 poe"}
if --enable-parallel.

Also merge powerpc-ibm-aix5.x with ibm-aix by making powerpc-ibm-aix5.x to
source ibm-aix just like ibm-aix6.x.  This is in preparation that all AIX
platforms will eventually just use ibm-aix directly.

Fixed a small problme in ibm-flags: some older xlc (e.g. v7.1) prints the
version information with a leading blank. So, accommodate this pattern by
removing the "^".

Tested: LLNL uP, 32/64bits, serial/parallel. (parallel has tests failed
but this change is mainily for configure issues.)
Also tested BP, 32/64bits but serial only.
2010-10-13 18:24:59 -05:00
Quincey Koziol
97d7903312 [svn-r19589] Description:
Correct minor error in sizes of objects on 1.8 branch.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
2010-10-13 12:43:18 -05:00
Quincey Koziol
a294ddffe5 [svn-r19588] Description:
Bring r19587 from trunk to 1.8 branch:

	Address issue with object headers being created getting evicted from
the metadata cache cache before they are completely initialized.  This is
done by pinning the object header in the cache until it is completely
initialized and attached to a group.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, w/threadsafe, in production mode
        Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
2010-10-13 11:17:52 -05:00
Raymond Lu
a911db88e4 [svn-r19585] Bug 1707 - I took out an extra line from the set default function.
Tested on jam - simple change.
2010-10-12 13:37:52 -05:00
Raymond Lu
98c90bd9cd [svn-r19583] Bug fix for 1707 - H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API
with the 1.8 library to compile.  The cause is from the mismatch of H5Eprint1 and H5Eprint2 
set through H5Eset_auto.  I changed the structure H5E_auto_t.  I added a IS_DEDAULT flag in 
it.  Both H5Eprint1/2 are the default now.  If the user sets his/her own printing function.
Then a call to H5Eget_auto1/2 will have to match H5Eset_auto1/2.  

Tested on heiwa, jam, and amani.

The property change in configure.in, config, tools/misc, tools/lib, c++/test, fortran, and 
Makefile.am came from the merge of the trunk library change.

--This line, and th se below, will be ignored--

_M   .
M    test/testerror.sh.in
M    test/err_compat.c
M    test/testfiles/err_compat_1
_M   configure.in
M    src/H5Epkg.h
M    src/H5E.c
M    src/H5Eint.c
M    src/H5Edeprec.c
_M   tools/misc
_M   tools/lib
_M   config
_M   c++/test
_M   Makefile.am
_M   fortran
2010-10-12 11:45:36 -05:00
Allen Byrne
09d549d0e9 [svn-r19581] Correct target format in ADD_DEPENCIES command 2010-10-12 09:17:30 -05:00
Allen Byrne
97141dcb0d [svn-r19574] Adjust external library names depending on build type for ExternalProject Command
Tested: local linux, windows
2010-10-11 15:36:22 -05:00
Allen Byrne
2f27903505 [svn-r19571] Parameterize SVN URLs.
Add ExternalProject dependicies of external libs copy on project build.
Force ExternalProject Libs to build release.

Tested: local linux
2010-10-11 10:13:15 -05:00
Elena Pourmal
0e617633fc [svn-r19567] Maintenance: Added -O3 to be used with the C Intel v 11 compilers; set default to -O for all
unknown versions of the C Intel compilers.
             Modified apple config file to display Intel compiler information.
             Updated RELEASE.txt notes accordingly.
Platfroms tested: jam, amani and dubna (Mac 64-bit) with Intel C, Fortran and C++ compilers.
2010-10-08 15:57:57 -05:00
Allen Byrne
2305dc9b7a [svn-r19549] Remove reference files from clearall command
Add IF check for NOT PACKEDBITS to nofilename test
2010-10-08 09:30:16 -05:00
Mike McGreevy
3bf8b6a38a [svn-r19545] Purpose:
Patch for metadata accumulator bug
Description:
   Linew failed one of the randomly seeded fheap tests
   due to a corner case bug in the metadata accumulator code.
   This patch fixes the corner case.
Tested:
    used same random seed in fheap tests to reproduce and 
   verify on linew; plus full make check on jam.
    unit tests for accumulator code coming soon.
2010-10-08 08:59:10 -05:00
Quincey Koziol
b1edd6811e [svn-r19542] Description:
Bring r19541 from trunk to 1.8 branch:

	Correct assert statement to acount for pinned entries.

Tested:
	Linux/64 2.6 (chicago)
	(too peculiar to Chicago setup h5committest)
2010-10-07 17:13:22 -05:00
Allen Byrne
32daa26065 [svn-r19537] Cleanup formatting 2010-10-07 12:19:23 -05:00
Allen Byrne
2518d8188c [svn-r19535] Add using-memchecker option 2010-10-07 11:05:54 -05:00
Larry Knox
6dbfc9d3ae [svn-r19529] Added line to config/examples.am to remove execute permission from example source files that are installed in .../share/hdf5_examples/. This will address bugzilla #2025.
Tested with h5committest on amani, heiwa, and jam.
2010-10-06 18:33:56 -05:00
Allen Byrne
c18db616e5 [svn-r19528] Add clear generated objects commands to test blocks.
Add configurefile command to copy CTestCustom to build folder.

Bring r19527 back from trunk

Tested: local linux
2010-10-06 15:51:02 -05:00
Allen Byrne
22db4c3113 [svn-r19526] Updated tested Windows platforms 2010-10-06 09:47:47 -05:00
Raymond Lu
6456ce8313 [svn-r19522] I added another test case - disabling chunk cache. H5Dwrite will fail instead of H5Dclose
when the chunk cache is disabled and the mandatory filter fails.

Tested on jam - simple change.
2010-10-05 15:14:40 -05:00
Allen Byrne
df16831eea [svn-r19521] Move 'int nerrors = 0' declaration out of '#ifdef' block to match return.
Bring r19520 back from trunk
2010-10-05 15:00:33 -05:00
HDF Tester
4518f8ba2c [svn-r19511] Snapshot version 1.8 release 7 (snap0) 2010-10-05 08:28:37 -05:00
Allen Byrne
694c9065e0 [svn-r19510] Improve CMake support for CYGWIN.
Correct script comment in testh5diff.sh

Bring r19509 back from trunk

Tested: Windows Cygwin
2010-10-04 16:41:03 -05:00
Quincey Koziol
0574011fe8 [svn-r19499] Description:
Bring r19498 from trunk to 1.8 branch:

        Optimize the vector-vector memcpy() routine even further, for a total
of ~2x speedup.  :-)

        Make a generic vector-vector operation routine and convert other
vector-vector read & write routines to use generic routine instead of multiple
copies of the basic algorithm.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-10-01 00:43:11 -05:00
Allen Byrne
d4927395ba [svn-r19496] Change ExternalProject Dependicies guard to positive match (Windows configure error)
Tested: Windows
2010-09-30 09:31:31 -05:00
Allen Byrne
bd5541038d [svn-r19494] Correct static external project library base names.
Tested: windows
2010-09-29 15:57:29 -05:00
Jonathan Kim
c88c65c130 [svn-r19492] Purpose:
Update help page for exclude-path feature.

Description:
 Merged from hdf5 trunk (r19491).
 Related to "1890:  h5diff excluding object for file comparison via command line" checkins. (r19406)

Tested:
 jam, linew
2010-09-29 10:45:11 -05:00
Allen Byrne
24e0792396 [svn-r19490] Correct dependency on extlib project when not using external projects. 2010-09-29 09:48:15 -05:00
Allen Byrne
0a00129bae [svn-r19486] Add ExternalProject support for external libs - option added Defaults to NO. SVN allows downloading project from svn. Future option is to use a tar file.
Tested: Windows, local Linux
2010-09-28 13:28:28 -05:00
Quincey Koziol
09384e14e7 [svn-r19485] Description:
Bring r19484 from trunk to 1.8 branch:

    Clean up formatting a bit.

Tested on:
    FreeBSD/32 6.3 (duty) w/debug
    (Too minor to require h5committest)
2010-09-28 10:29:53 -05:00
Quincey Koziol
8c0e2d5cb6 [svn-r19483] Description:
Bring r19482 from trunk to 1.8 branch:

	Speed up hyperslab sequence generation routine some more, giving
about a 10% improvement in Ger Van Diepen's LOFAR benchmark.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-09-28 09:25:53 -05:00
Raymond Lu
bb87e6bac6 [svn-r19479] I'm backing out my fix for bug 1707 because there're some unresolved issues - r19441 and 19466.
Bug 1707 is that H5Eset_auto causes a seg fault when an application uses -DH5_USE_16_API with 
the 1.8 library to compile.

Tested on jam - backing out, simple.
2010-09-27 12:53:37 -05:00
Quincey Koziol
84540ce6d1 [svn-r19477] Description:
Bring r19476 from trunk to 1.8 branch:

	Polish the vectorized memory <-> memory and memory <-> file I/O
routines to speed them up a little bit (~10%)

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-09-23 16:04:46 -05:00
Quincey Koziol
308982f235 [svn-r19473] Description:
Bring r19472 from trunk to the 1.8 branch:

	Create a new, more streamlined method of generating I/O sequences when
there is only a single block defined by a hyperslab.  This improves the
performance of Ger Van Diepen's (LOFAR team) benchmark by about 20%.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-09-23 10:15:27 -05:00
Raymond Lu
d354e1f750 [svn-r19466] Bug fix for 1707 - My previous checkin wasn't complete. I left out the case when the
deprecated symbols were disabled.  I made a different definition for H5E_auto_op_t when the
deprecated symbols were disabled.

Tested on jam - a simple change.
2010-09-22 11:59:41 -05:00
Neil Fortner
073aafa1e0 [svn-r19463] Purpose: Fix bug 1864
Description:
Library versions 1.6.3 and earlier contain a bug which causes them to be unable
to perform certain operations on a group if that group's symbol table
information is not cached in the parent group's symbol table.  Versions 1.8.0
to 1.8.5 did not cache this information.  Modified library to cache this
information.

Tested: jam, amani, heiwa (h5committest)
2010-09-21 13:45:32 -05:00
Albert Cheng
c83fe1b4ec [svn-r19462] Bug fix: 1961-- AIX 6.1 --enable-share did not work.
Description:
The AIX platform does not install the lib*.so for some reason but libhdf5.a
acts like a shared library.  Until we can find out how to fix this, patch
up tetlibinfo.sh to not look for an lib*.so in AIX. (Note the test results
look wierd as it says libhdf5.a passed and skipped.)

Tested: NCSA BP for both enable and disable-shared.
2010-09-21 13:36:46 -05:00
Allen Byrne
f8e2dfd298 [svn-r19459] Add CMake tests for check-vfd; includes new vfdTest.cmake script and OPTION HDF5_TEST_VFD
Tested: local linux
2010-09-21 12:23:53 -05:00
Mike McGreevy
353e910462 [svn-r19456] Purpose:
- Clear out RELEASE.txt in preparation for 1.8.7 development work.
- Create placeholder in HISTORY-1_8.txt for RELEASE.txt from 1.8.6
2010-09-21 11:38:20 -05:00
Mike McGreevy
f8cd72f48a [svn-r19451] Update version of 1.8 branch to HDF5 1.8.7-snap0 2010-09-21 11:12:03 -05:00
Albert Cheng
e18d1fb1a0 [svn-r19449] Undo previous commit:
Big.c was included by mistake.
2010-09-21 10:51:59 -05:00
Jonathan Kim
8e07e85f3c [svn-r19448] Fix for legacy Windows test added for 1890 h5diff exclude-path 2010-09-21 09:20:38 -05:00
Jonathan Kim
77af8fc271 [svn-r19446] Update for previous checkin r19444 2010-09-20 17:24:40 -05:00
Jonathan Kim
322a384b13 [svn-r19444] Purpose:
Fix for group comparison with exclude-path case. Use relative path.

Description:
 Merge from hdf5 trunk (r19443)
 Related to "1890:  h5diff excluding object for file comparison via command line" checkins. (r19407)

Tested:
 jam, amani
2010-09-20 17:20:13 -05:00
Larry Knox
a779518cf9 [svn-r19442] Move $LIBS to just after $lib_objs in the link command line. Otherwise the linker doesn't find the functions called by the program being compiled. $LIBS is ofr libraries specified by the compile script user.
We don't currently have any tests checked in to do this.  Tested with netCDF-4 and hdf5 on jam.
2010-09-20 17:07:27 -05:00
Raymond Lu
d688fc55a9 [svn-r19441] Bug fix for 1707 - in a hurry, explain later.
tested on jam and amani, heiwa hasn't finished yet.
2010-09-20 16:57:57 -05:00
Mike McGreevy
d3d78bbd1b [svn-r19440] Description:
Update bin/chkconfigure to reflect version 2.67 of Autoconf

Tested:
    ran bin/chkconfigure on jam
2010-09-20 16:49:26 -05:00
Allen Byrne
7c7b4e3deb [svn-r19438] Correct use of lib, include, bin in INSTALL commands to use proper variables.
Tested: local linux
2010-09-20 16:02:26 -05:00
Allen Byrne
1d8cd1619a [svn-r19436] remove source package command - not needed
add missing -C options
2010-09-20 16:00:14 -05:00
Binh-Minh Ribler
111a9d04b5 [svn-r19433] Description:
Added ./config/ibm-aix6.x
2010-09-20 12:53:29 -05:00
Allen Byrne
b0afba21a0 [svn-r19432] Updated configuration section with optional command line usage. Also added section on CPack. 2010-09-20 12:27:44 -05:00
Allen Byrne
dbe5fafade [svn-r19429] Update to H5REPACK tests for layout info required a new function in batch file
Tested: Windows
2010-09-20 11:36:08 -05:00
Jonathan Kim
aa1c0796bb [svn-r19428] Updates for cmake tests from the h5diff group recursive updates. 2010-09-20 10:40:55 -05:00
Jonathan Kim
94ceecadde [svn-r19426] Fix for legay Windows test for h5diff exclude-path updates 2010-09-20 10:21:35 -05:00
Albert Cheng
349789af8b [svn-r19424] Bug fix: 1961-- AIX 6.1 --enable-share did not work.
Description:
In an AIX 6.1 system, configure --enable-shared could not build a shared
HDF5 library. The problem was because the version of config.guess was too
old to recongnize AIX 6.X and also configure.in had a local fix which did
not recognize AIX 6.X.

Solution:
1. Mike McGreevy updated bin/config.guess to handle AIX 6.X.
2 Albert fixed configure.in to recognize AIX 6.X.

Note that though HDF5 can build shared lib for AIX 6.X systems
but it still could not install the proper library as in AIX 5.X
systems. Also, bin/config.sub should be updated too.

Tested: BP which is the AIX 6.1 system that exposed this problem.
2010-09-20 00:31:08 -05:00
Albert Cheng
88abe7432b [svn-r19423] Bug fix: 1961-- AIX 6.1 --enable-share did not work.
Description:
In an AIX 6.1 system, configure --enable-shared could not build a shared
HDF5 library. The problem was because the version of config.guess was too
old to recongnize AIX 6.X and also configure.in had a local fix which did
not recognize AIX 6.X.

Solution:
1. Mike McGreevy updated bin/config.guess to handle AIX 6.X.
2 Albert fixed configure.in to recognize AIX 6.X.

Note that though HDF5 can build shared lib for AIX 6.X systems
but it still could not install the proper library as in AIX 5.X
systems. Also, bin/config.sub should be updated too.


Tested: BP which is the AIX 6.1 system that exposed this problem.
2010-09-20 00:18:29 -05:00
Larry Knox
91565db209 [svn-r19421] Reorganize compile scripts h5cc.in, h5fc.in and h5c++.in to put LDFLAGS in the correct place and to enable the script user to set and override CFLAGS, CPPFLAGS, CXXFLAGS, FFLAGS, LDFLAGS, and LIBS that take pprecedence over the library paths and compile flags from the hdf5 build.
Tested with h5committest on amani, heiwa, and jam.
2010-09-17 18:09:03 -05:00
John Mainzer
ca71aa92bd [svn-r19420] Ported recent checkin on trunk to the 1.8 branch -- trunk checkin
log entry reproduced below:

--------------------------------------------------------------

Modified shape same tests to deal with the performance problem on Abe.

Problem appears to have been caused by file system contention.

In the chunked dataset case, reshaping the chunks so that only one
process would touch each chunk and setting the alignment equal to the
default Lustre block size more or less dealt with the problem.

For contiguous datasets, the problem was a bit more difficult, as
re-working the test to avoid contention would have been very time
consuming.

Instead, I added code to time one execution of each type of shape
same test, and skip additional tests of that type if the duration
of the test exceeded some threshold

In all cases, I set up code to turn off the above fixes if express
test is 0.

Tested on Abe and commit tested.  On the commit test, the configure
test failed -- probably because I was h5committest from heiwa due
to some ssh wierdness.  In any case a manual reconfigure run on
jam seemed to work fine.

Also, in h5committest, I ran into some data conversion warnings.
I didn't worry about them as the only code I changed was in testpar.
2010-09-17 16:31:32 -05:00
Allen Byrne
36003ca79c [svn-r19419] On windows, an include bypassed the WIN32_LEAN_AND_MEAN define. Moved the define up. Moved the h5dif.h to after the h5private include
Tested: Windows
2010-09-17 13:06:49 -05:00
Jonathan Kim
0407b2e64a [svn-r19416] Fix for Cmake test. Merged from hdf5 trunk (r19415). 2010-09-17 10:46:38 -05:00
Albert Cheng
e9f71d27cc [svn-r19414] Error return value was FAIL. Should be NULL.
Tested: LLNL up which this was flagged.
2010-09-17 10:40:05 -05:00
Jonathan Kim
3bfb10b2fc [svn-r19411] Purpose:
Add extra test cases for Bug1975 h5diff - support recursive comparison on group when specified as an object

Description:
 Merged from hdf5 trunk (r19409)
 Additional tests for combination of group recursive and --follow-symlinks 
 with multi-linked external links with several files (same name/strucure).

Tested:
 jam, amani, heiwa
2010-09-16 19:22:29 -05:00
Larry Knox
696675029e [svn-r19408] In this revision the '/' after ${DESTDIR} wherever it occurs
has been removed. According to the official description of DESTDIR by Gnu at
http://www.gnu.org/prep/standards/html_node/DESTDIR.html, DESTDIR is
prepended to the normal and complete install path that it precedes for the
purpose of installing in a temporary directory which is useful for building
rpms and other packages.  The '/' after ${DESTDIR} will be followed by another
'/' at the beginning of the normal install path.  When DESTDIR is empty the
path then begins with '//', which is incorrect and causes problems at least for
Cygwin.

The change made in config/commence.am affects many Makefile.*s when bin/reconfigure
is run.  EXAMPLEDIRs had to be corrected individually.

Also the scripts to run examples after they are installed have checks added to see 
that the fortran and c++ directories are present before trying to run the scripts 
in them.

Tested with h5committest on amani, heiwa and jam.
2010-09-16 17:12:07 -05:00
Jonathan Kim
6d97ffcc6c [svn-r19407] Purpose:
Add --exclude-path option

Description:
 Merged from hdf5 trunk (r19406).
 Specified path to an object will be excluded from comparing the two files or two groups. If group is specified all the member objects will be excluded.
Related to "1890:  h5diff excluding object for file comparison via command line"

Tested:
 jam, amani
2010-09-16 16:57:27 -05:00
Quincey Koziol
6cb4260eff [svn-r19405] Description:
Bring r19402 from trunk to 1.8 branch:

	Correct Bz#1968 (Problem when opening new format file with
H5F_LIBVER_EARLIEST) by initializing symbol table leaf information in a
more universal way.  Also cleaned up other superblock initialization a
little bit while I'm here.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, w/threadsafe, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
       Mac OS X/32 10.6.4 (amazon) in debug mode
       Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
       Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-09-16 15:33:16 -05:00
Allen Byrne
607c97c175 [svn-r19404] Update to H5REPACK tests for layout info required a grep script like runTest.cmake.
Update CMakeLists.txt for new h5repack  layout tests.

Tested: local linux
2010-09-16 15:31:46 -05:00
Jonathan Kim
a9a3f22e78 [svn-r19401] Purpose:
Fix for Bug1975 h5diff - support recursive comparison on group when specified as an object

Description:
 Merged from hdf5 trunk (r19400).
 Compare member objects and groups recursively when two files or groups are specified to be compared. Support parallel diff and handling symbolic links accordingly.

Tested:
 jam, amani
2010-09-16 13:09:59 -05:00
Quincey Koziol
9f028ea458 [svn-r19399] Description:
Bring r19398 from trunk to 1.8 branch:

	Clean up the internal usage H5I_dec_ref() to eliminate the sequence of
flags that has been creeping in.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
2010-09-16 09:15:13 -05:00
Quincey Koziol
6fb5f819a5 [svn-r19397] Description:
Bring r19396 from trunk to 1.8 branch:

	Bring back various modifications to the v2 B-trees that were introduced
in the revise_chunks branch but aren't dependent on any file format or API
changes.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, w/threadsafe, in production mode
       Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
       Mac OS X/32 10.6.4 (amazon) in debug mode
       Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
       Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-09-16 07:28:29 -05:00
Binh-Minh Ribler
b0a1e95ac7 [svn-r19394] Purpose: Fixed bug 1903
Description:
    After a C++ API object is closed, its id should be reset regardless
    of the reference count of the underlying HDF5 object.  User reported
    the bug for Group, but it's applicable to all other objects.  Fixed.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2010-09-15 23:13:25 -05:00
Jonathan Kim
3755fa1822 [svn-r19393] Purpose:
Additional fix for Bug 1821 - h5repack outputs compression information where it is not supposed to

Description:
 Merged from hdf5 trunk (r19392)
 Remove unnecessary lopping code, which only lowers performance.

Tested:
 jam, amani
2010-09-15 14:29:11 -05:00
Jonathan Kim
f4af852764 [svn-r19391] Purpose:
Fix for Bug1896 h5repack - changing layout to COMPACT does not work

Description:
Merged from hdf5 trunk (r19389)
Make h5repack be able to convert a layout to COMPACT for small size dataset as default.  Also add verifying layout changes in our test script.

Tested:
 jam, amani
2010-09-15 14:00:44 -05:00
Neil Fortner
6ef5b395ea [svn-r19388] Purpose: Fix build error
Description:
When merging r19386 from the trunk calls to H5AC_ignore_tags were not removed.
This has been corrected.

Tested: Fedora
2010-09-15 13:31:24 -05:00
Neil Fortner
bf8d33a34b [svn-r19387] Purpose: Fix assertion failure caused by fractal heap header file pointer
Description:
The fractal heap header structure keeps a pointer to the file associated with
it.  However, it is possible for that file pointer to be closed while the
header is still in cache (through the shared file pointer).  Previously, the
header's file pointer was not updated and subsequently pointed to an invalid
file structure.  Modified fractal heap code to update the file pointer every
time the header is accessed.

Tested: jam, linew, amani (h5committest)
2010-09-15 10:33:03 -05:00
Quincey Koziol
f0939c320d [svn-r19385] Description:
Bring r19384 from trunk to 1.8 branch:

    Correct an error I convinced Mike to introduce with the phread_once()
code, :-(  along with another one that wasn't my fault.  Also, clean up
warnings and restructure code in the pthread side of the thread-safe code a bit.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/production + thread-safe
    (not a configuration that h5committest tests)
2010-09-15 09:49:13 -05:00
Allen Byrne
2e7ab5f65f [svn-r19376] Added bug 1938 resolution 2010-09-13 10:52:22 -05:00
Allen Byrne
16fa6eef73 [svn-r19375] [BZ1938] - VS2010 on windows requires stdint.h to compile C++ library. CMake will check if c++ compiler supports stdint.h and set the H5_HAVE_STDINT_H_CXX define.
Tested: windows and local linux
2010-09-13 10:42:27 -05:00
Larry Knox
3984f9e1eb [svn-r19373] Add copies of m4 macros that were erroneously links. 2010-09-11 00:05:17 -05:00
Larry Knox
557bcb95d0 [svn-r19372] Remove symbolic links that should be copies. 2010-09-11 00:03:34 -05:00
Larry Knox
23bc2c0b38 [svn-r19371] Updated autoconf to version 2.6.7, libtool to version 2.2.10, and m4 to version 1.4.14. Also added m4 directory for m4 macros according to autoconf suggestion.
Tested with h5committest on amani, jam, and heiwa, and on linew.

-This line, and those below, will be ignored--

M    hdf5_1_8/test/Makefile.in
A    hdf5_1_8/m4
AM   hdf5_1_8/m4/ltsugar.m4
AM   hdf5_1_8/m4/libtool.m4
AM   hdf5_1_8/m4/ltversion.m4
AM   hdf5_1_8/m4/lt~obsolete.m4
AM   hdf5_1_8/m4/ltoptions.m4
M    hdf5_1_8/configure
M    hdf5_1_8/Makefile.in
M    hdf5_1_8/testpar/Makefile.in
M    hdf5_1_8/configure.in
M    hdf5_1_8/src/Makefile.in
M    hdf5_1_8/tools/Makefile.in
M    hdf5_1_8/tools/misc/Makefile.in
M    hdf5_1_8/tools/h5dump/Makefile.in
M    hdf5_1_8/tools/h5repack/Makefile.in
M    hdf5_1_8/tools/h5jam/Makefile.in
M    hdf5_1_8/tools/h5diff/Makefile.in
M    hdf5_1_8/tools/lib/Makefile.in
M    hdf5_1_8/tools/h5copy/Makefile.in
M    hdf5_1_8/tools/h5import/Makefile.in
M    hdf5_1_8/tools/h5stat/Makefile.in
M    hdf5_1_8/tools/h5ls/Makefile.in
M    hdf5_1_8/hl/test/Makefile.in
M    hdf5_1_8/hl/tools/Makefile.in
M    hdf5_1_8/hl/tools/gif2h5/Makefile.in
M    hdf5_1_8/hl/Makefile.in
M    hdf5_1_8/hl/src/Makefile.in
M    hdf5_1_8/hl/c++/test/Makefile.in
M    hdf5_1_8/hl/c++/Makefile.in
M    hdf5_1_8/hl/c++/src/Makefile.in
M    hdf5_1_8/hl/c++/examples/Makefile.in
M    hdf5_1_8/hl/fortran/test/Makefile.in
M    hdf5_1_8/hl/fortran/Makefile.in
M    hdf5_1_8/hl/fortran/src/Makefile.in
M    hdf5_1_8/hl/fortran/examples/Makefile.in
M    hdf5_1_8/hl/examples/Makefile.in
M    hdf5_1_8/config/commence.am
M    hdf5_1_8/MANIFEST
M    hdf5_1_8/c++/test/Makefile.in
M    hdf5_1_8/c++/Makefile.in
M    hdf5_1_8/c++/src/Makefile.in
M    hdf5_1_8/c++/examples/Makefile.in
M    hdf5_1_8/bin/ltmain.sh
M    hdf5_1_8/bin/reconfigure
M    hdf5_1_8/perform/Makefile.in
M    hdf5_1_8/fortran/test/Makefile.in
M    hdf5_1_8/fortran/testpar/Makefile.in
M    hdf5_1_8/fortran/Makefile.in
M    hdf5_1_8/fortran/src/Makefile.in
M    hdf5_1_8/fortran/examples/Makefile.in
M    hdf5_1_8/aclocal.m4
M    hdf5_1_8/examples/Makefile.in
2010-09-10 17:41:44 -05:00
Mike McGreevy
2d9a70085c [svn-r19368] Purpose:
Add windows threads support to HDF5.

Description:

    Added calls to the windows threads library to the H5TS layer, and wrapped
    most calls to either pthreads or windows threads library with portable
    H5TS-style defines. Modified tests to use portable function definitions
    as well.

    This can be configured via CMake with the HDF5_ENABLE_THREADSAFE
    option, and should work on windows vista and later operating systems.

Tested:

    h5committest, plus threadsafe with pthreads on jam and amani,
    and tested on a Windows Vista VM with threadsafe using windows threads.
2010-09-10 11:15:57 -05:00
Albert Cheng
a8646632e8 [svn-r19365] Bug Fix: ID 2019
Description:
The development (--disable-production) mode ran a long time, especially on the
testhdf5 (select) that exceeded the wall clock 10 minutes limits and was
terminated. It turned out the development had DEBUG_CFLAG set to "-g -xildoff".\
The -xildoff was added back when h5detect had errors when -g only was used. But
that bug does not exist any more since when only -g is used to build, h5detect
did not fail and all tests passed. Therefore -xildoff is removed.

Furthermore, when "-g -O" is used to build the library, debuggers such as
dbx can still use the executable, though some debugging ability like displaying
local variables is not available in optimized code. But overall execution time
shorten.

Therefore, the C, Fortran aand CXX DEBUG flags are all set to "-g -O" by
default.

Tested: in Linew using the default development mode because the changes affect
only the Sun platform.
2010-09-10 00:05:04 -05:00
Allen Byrne
ff47a7df1b [svn-r19362] Move Windows specific compile and link flags to macros 2010-09-09 11:31:46 -05:00
Raymond Lu
ec5f5c868f [svn-r19359] When mandatory filter failed to write data chunks, the dataset
couldn't close (bug 1260).  The fix releases all resources and closes
the dataset but returns a failure.

Tested with h5committest - jam, heiwa, amani.
2010-09-08 12:12:18 -05:00
Allen Byrne
4d88ec662b [svn-r19358] Add POSIX warning to report ignore list. 2010-09-08 10:56:21 -05:00
Albert Cheng
6f41fc3057 [svn-r19356] Bug fix: ID 2026
Description:
testhdf5/select runs very slow when in --disable-production mode using
pgcc compiler.  This was caused by the -Mchkfpstk compiler switch added
to the DEBUG_FLAGS in config/pgi-flags file.

Solution:
Removed -Mchkfpstk from both pgi-flags and pgi-fflags.
See Bug 2026 for dettails.

Tested: (no h5committest test since they don't use PGI compilers.)
Jam (linux32): using pgcc/pgf90/pgCC using  default and --enable-production.
Amani (linux64): 
using pgcc/pgf90/pgCC (32 bits mode by "-tp k8-32"), using  default and --enable-production.
2010-09-08 03:06:30 -05:00
Raymond Lu
ba35fd9890 [svn-r19355] Quincey and I made H5Eset_current_stack also close the stack to be set. This is to
avoid H5Eclose_stack clearing the default stack.  Please see bug 1799.

Tested on jam - simple change.

The changes to configure.in, tools/lib, config, c++/test, Makefile.am, and fortran
are only property changes from the merge.
2010-09-07 11:24:33 -05:00
Quincey Koziol
0717036133 [svn-r19353] Description:
Bring r19352 from trunk to 1.8 branch:

    Align w/changes on revise_chunks branch

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-09-03 22:47:26 -05:00
Quincey Koziol
e123cb554e [svn-r19349] Description:
Bring r19348 from trunk to 1.8 branch

Tested on:
    Linux/64 2.6 (abe) w/parallel
    (too unusual to require h5committest)
2010-09-03 21:53:43 -05:00
Quincey Koziol
ddfe8e8e43 [svn-r19345] Description:
Add note about bugfix that requires H5Pset_chunk for all chunked datasets
now.
2010-09-03 10:57:57 -05:00
Allen Byrne
b2775eee80 [svn-r19344] Corrected long long printf test.
Added CMake commands to allow the install of the extlibs on windows.
Updated ctest warning exception regex for VS2010

Bring r19343 from trunk

Tested: windows
2010-09-02 16:01:37 -05:00
Allen Byrne
6717501b5c [svn-r19341] Added cmake tests for c++ examples
Tetsed: local linux
2010-09-02 15:57:41 -05:00
Allen Byrne
f65eec188f [svn-r19337] Change #ifndef _WIN32 to #ifdef H5_HAVE_UNISTD_H
Tested: windows, heiwa and local linux
2010-09-01 12:25:16 -05:00
Allen Byrne
6bf6f488d7 [svn-r19335] Update CMake reference 2010-09-01 11:45:00 -05:00
Allen Byrne
6825fe1506 [svn-r19332] Removed extranous string from list of ddl files. 2010-09-01 09:46:29 -05:00
Quincey Koziol
17f53bf1f3 [svn-r19329] Description:
Bring r19328 from trunk to 1.8 branch:

    Add some extra range checking for invalid chunk sizes.

    Tweak default chunk sizes to be zero, so that it's more likely that
application developers will be forced to set them correctly.

    Add a few tests to verify these checks.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-08-31 18:10:43 -05:00
Allen Byrne
c9cf76d5f9 [svn-r19326] Added parallel build commands.
Corrected use/name of source folder aliases.
Duplicated FindMPI.cmake so that non-c++ compiler is found first (recommemded commands did not work).
Bring r19325 from trunk

Tested: local linux with mpich
2010-08-31 15:20:12 -05:00
Allen Byrne
0792a4dd4c [svn-r19321] Added correction to check for existence of H5PRINTF_LL in PRINTF_LL test.
Tested: local linux
2010-08-27 13:33:09 -05:00
Allen Byrne
4f5ce13471 [svn-r19319] Correct ENDIF text (non-executable) to match IF parameter 2010-08-27 10:11:11 -05:00
Quincey Koziol
7702d04621 [svn-r19314] Description:
Bring r19313 from trunk to 1.8 branch:

    Clean up a few compiler warnings and style issues in/near recent changes.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-08-26 17:02:15 -05:00
Quincey Koziol
c834908b0c [svn-r19311] Description:
Bump optimization down for Intel 10.* compilers, due to apparent bad code generation.

Tested on:
	Linux/64 2.6 (cobalt) w/debug & production & Intel 11.1 compilers
	(h5committest not appropriate)
2010-08-26 15:22:06 -05:00
Quincey Koziol
e70f164a84 [svn-r19310] Description:
Bring r19309 from trunk to 1.8 branch:

    Bring revisions from Coverity branch back to trunk:

r19191:
Fix coverity items 104 and 105.  Added calls to H5HF_sect_indirect_free to
H5HF_sect_indirect_reduce and H5HF_sect_indirect_reduce_row if there is an errorbefore "peer_sect" is linked into the main free space structure via its direct
sections.  Also delayed call to H5HF_sect_indirect_first to prevent peer_sect
from being left in an inconsistent state.

r19268:
Added fix to disallow extendible compact dataset.
This was the same check as in H5D_contig_construct() in H5Dcontig.c.
Added test to verify the creation of extendible dataset with various layouts.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (h5committested on branch)
2010-08-26 12:27:56 -05:00
Allen Byrne
9ab20786ab [svn-r19308] Correct test for H5_LONE_COLON - added NOT
Bring r19307 from trunk

Tested: windows
2010-08-26 09:37:27 -05:00
Albert Cheng
d51d3eccba [svn-r19303] bug 1678: temporary fix.
Description: aix -q32 default to a memory limit that some HDF5 tests would
fail in malloc.

Solution:
Temporary hardset
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
to bypass this problem until the test programs are fixed.  Though -q64 binary
has a higher default memory limit and does not need this patch, it is applied
the same for the sake of simplicity since it is a temporary fix.

Tested:
in uP, tested 32 and -q64 modes. No h5committest since this applies to the
AIX platform only.
2010-08-25 18:55:55 -05:00
Allen Byrne
6cea4f52ce [svn-r19301] BZ 1958: Add h5dump xml tests to CMake support
Bring r19300 from trunk

Tetsed: local linux
2010-08-25 17:35:26 -05:00
Quincey Koziol
ddcae21908 [svn-r19298] Description:
Bring r19297 from trunk to 1.8 branch:

	Whack a few more memory errors exposed by valgrind.

	Make the debugging dump output a little bit prettier.

Tested on:
   FreeBSD/32 6.3 (duty) w/debug
   (h5committested on trunk)
2010-08-25 16:08:49 -05:00
Quincey Koziol
02a65c4685 [svn-r19291] Description:
Avoid getting object information for soft/external links if we aren't
going to traverse across the link itself.

Tested on:
    Linux/64 2.6 (chicago) w/debug & production
    (h5committest coming up)
2010-08-24 14:57:38 -05:00
Quincey Koziol
0915222903 [svn-r19290] Description:
Correct another error in metadata accumulator dirty region calculations
(this time with a corner case when freeing data in the file).

Tested on:
    Linux/32 2.6 (talwit) w/debug
    (following up with h5committest)
2010-08-24 14:50:29 -05:00
Albert Cheng
b93b61ee6b [svn-r19289] bug 1678: temporary fix.
Description: aix -q32 default to a memory limit that some HDF5 tests would
fail in malloc.

Solution:
Temporary hardset
RUNSERIAL=${RUNSERIAL="env LDR_CNTRL=MAXDATA=0x20000000@DSA"}
to bypass this problem until the test programs are fixed.  Though -q64 binary
has a higher default memory limit and does not need this patch, it is applied
the same for the sake of simplicity since it is a temporary fix.

Tested:
in BP, both -q32 and -q64 modes. No h5committest since this applies to the
AIX platform only.
2010-08-24 13:55:16 -05:00
Allen Byrne
d65e4dbd7e [svn-r19287] Corrected name of file appearing in expected output.
(Missed edit from local test)
2010-08-24 08:48:15 -05:00
Quincey Koziol
063ca4ad8a [svn-r19284] Description:
Add note about correcting valgrind issues.
2010-08-24 06:13:39 -05:00
Quincey Koziol
e5d9761aba [svn-r19283] Description:
Bring r19278 from trunk to 1.8 branch:

	More fixes to memory allocation, etc. exposed by valgrind.

Tested on:
   FreeBSD/32 6.3 (duty) in debug mode
   FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
   Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
       w/C++ & FORTRAN, w/threadsafe, in debug mode
   Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
       w/C++ & FORTRAN, in production mode
   Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
       w/szip filter, w/threadsafe, in production mode
   Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
   Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
       in production mode
   Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
   Mac OS X/32 10.6.4 (amazon) in debug mode
   Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
       in production mode
   Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-23 19:33:09 -05:00
Allen Byrne
3de1ecd9c8 [svn-r19281] Fix test scripts changed extension of file 2010-08-23 17:29:51 -05:00
Allen Byrne
23da86c0dc [svn-r19280] Fix test scripts (Cmake needs to capture output yet)
linux script needed -R and double compare:

Tested: local linux
2010-08-23 17:28:52 -05:00
Raymond Lu
9d68049cc6 [svn-r19279] Bug 1934 - I added support of all data types for H5Tget_order. I added a new byte order
H5T_ORDER_MIXED specifically for compound types and its derived types.  They report mixed 
orders if they have members of different orders.

Tested on heiwa, jam, and amani.
2010-08-23 16:37:10 -05:00
Quincey Koziol
bec868b005 [svn-r19277] Description:
Bring r19276 from trunk to 1.8 branch:

	Correct calculation of end of dirty information in metadata accumulator

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-08-22 00:01:04 -05:00
Quincey Koziol
0b00c26b02 [svn-r19274] Description:
Bring r19272 & 19273 from trunk to 1.8 branch:

	Close out various resource leaks and usages of uninitialized memory that
were flagged by valgrind.  [There's still some more valgrind warnings, but
it's better now... :-/ ]

   Also clean up warnings and code formatting.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-20 17:22:40 -05:00
Allen Byrne
2d7c01d1eb [svn-r19270] Add warning exceptions.
Add memcheck ignore.
2010-08-20 15:04:06 -05:00
Allen Byrne
eb0cc7a576 [svn-r19266] Remove configuration of cmake zlib config filed which has been deleted.
Correct naming of SKIP test
Tested: local linux
2010-08-20 11:01:45 -05:00
Allen Byrne
82799772ad [svn-r19263] Undo r19258 2010-08-20 10:48:42 -05:00
Allen Byrne
b846a4ba20 [svn-r19259] Correct formatting and endif labels 2010-08-20 10:36:00 -05:00
Allen Byrne
fc975cffa2 [svn-r19258] Remove unused variables and allocation
Tested: local linux
2010-08-20 10:18:41 -05:00
Allen Byrne
456ebba0fb [svn-r19257] Change Cmake to allow a local zlib header to be used in H5Zdelate module.
Corrected use of "SKIP" message in cmake.
Corrections to cmake configuration files (for cmake external projects).

Community suggested changes.

Tested: local linux
2010-08-20 10:16:06 -05:00
Quincey Koziol
7c31e7873c [svn-r19256] Description:
Bring r19255 from trunk to 1.8 branch:

	Add missing include file from r19252.

Tested on:
       (Eyeballed only, too simple to require h5committest)
2010-08-20 09:14:58 -05:00
Quincey Koziol
525caddd9e [svn-r19254] Description:
Bring r19252 & 19253 from trunk to 1.8 branch:

   Bring Coverity changes from branch to trunk:


r19161:
Fixed the part for matching the subset info with dataset

r19189:
BZ1646: h5dump does not check number of dimensions for subsetting parameters against the dataset

Changed subset_t structure from holding hsize_t pointers to holding new subset_d pointers, which hold the original hsize_t pointer + len. this len is then checked against dataset ndims in the handle_dataset function of h5dump.

Changed all references to use new data structure.

Added tests for each subset parameter.

r19190:
Added new h5dump ddl files

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (h5committested on Coverity branch)
2010-08-19 16:16:28 -05:00
Raymond Lu
d221d97f99 [svn-r19250] New feature(bug #1934): I made H5Tset_order support all data types with some restictions:
1. For enum type, members shouldn't be defined yet.
        2. H5T_ORDER_NONE only works for reference and fixed-length
           string.
        3. For opaque type, the order will be ignored.
        4. For compound type, all restrictions above apply to the
           members.

I'll change H5Tget_order and do another commit.

Tested on jam, heiwa, and amani.
2010-08-18 14:32:26 -05:00
Quincey Koziol
0949a25c13 [svn-r19248] Description:
Bring r19247 from trunk to 1.8 branch:

    Bring r19246 from Coverity branch to trunk:

    Improve metadata "accumulator" for files to track the dirty region within
the accumulator data.  This allows the accumulator to drop clean data and
reduces the number of I/O operations when it is dirtied.

    This is progress toward Bz#1142 - speeding up the fheap test (which it
doesn't help much, actually, but it does help other aspects of file I/O).

Tested on:
    FreeBSD/32 6.3 (duty) in debug mode
    (h5committested on trunk)
2010-08-17 08:29:01 -05:00
Quincey Koziol
9f779228f9 [svn-r19243] Description:
Bring r19242 from trunk to 1.8 branch:

    Add in override for testing timeout alarm to allow "HDF5_ALARM_SECONDS"
environment variable to change the timeout value from the default value.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (Too minor to require h5committest)
2010-08-16 16:07:06 -05:00
Quincey Koziol
d9af3b4fdf [svn-r19238] Description:
Bring r19237 from trunk to 1.8 branch:

	Clean up misc. compiler warnings.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-12 16:27:02 -05:00
Quincey Koziol
94e652b097 [svn-r19234] Description:
Initialize loop variable that caused failures in certain circumstances.

	Also clean up compiler warnings and release MPI datatype.

Tested on:
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
2010-08-12 14:01:02 -05:00
Albert Cheng
5db5169813 [svn-r19229] Reset alarm_seconds back to 20 minutes.
Description:
honest3 v1.8 failed in parallel test.  It got stuck in the same
testpar/testphdf5 subtest (cbhsssdrpio).  This is an old problem.
Upon closer inspection, the testphdf5, when terminated, had clocked
up 1hr 9min 46 sec wall clock time.  Honest1 system also sent a message
that an mpi process has used up 30+ CPU minutes which exceeded their login
node cpu time limit and they killed the process.  I also did a hand-run
of testphdf5. All subtests before cbhsssdrpio completed in a few minutes.
Therefore, it is safe to say the majority of the 70 minutes of wall clock
time are spent in the sub-test cbhsssdrpio. It also used up lots of CPU
time.  cbhsssdrpio is likely infinite looping.

Since MPI application is prone to infinite looping due to message deadlock,
the testphdf5 has a built-in protection to give each subtest at most 20 minutes
of wall-clock time to run.  When the 20 minutes wall-clock time is exceeded,
the testphdf5 will attempt to terminate itself.  This prevents unnecessary
CPU time consumption in infinite looping.

But that clock limit was changed to 30 and then 60 minutes.  I should have
but failed to, noticed the change mentioned by Quincey.  IMO, 20 wall clock
time is more than sufficient for each subtest of testphdf5 to complete.
If a subtest takes longer than 20 minutes, it is likely infinite looping.
Giving it more time will not help.

If a subtest of testphdf5 takes more than 20 minutes, it should be broken
down to small tests that will finish way under 20 minutes so that it is 
much easier to see progress and identify any deadlock problems.

In view of this, I am changing the testphdf5 time limit back to 20 minutes.
This will at least stop the CPU TIME exceeding limits and annoying the
system administrators.

Maybe there could be a provision, such as environment variable like
$HDF5_ALARM_SECOND to modify the alarm duration on individual execution.
Even so, that should be used temporary to see if an execution just needs
a little more time.

Tested: just eyeballed as the change is trivia.
2010-08-11 13:12:21 -05:00
Allen Byrne
051cf48d0b [svn-r19226] File read/write happens at configure time, so moved windows specific copy from test macro to where the expected file is copied.
Tested: windows
2010-08-11 11:48:38 -05:00
Allen Byrne
e4925d1512 [svn-r19224] Moved subfolder checked outside of OPTION command. If folder doesn't exists, there is no reason to have option enabled.
Tested: local linux
2010-08-11 09:30:20 -05:00
Allen Byrne
5d82f0d79f [svn-r19220] Move hl fortran ADD_SUBDIRECTORY to right after fortran ADD_SUBDIRECTORY. This fixes a problem with compiler generated files not including target module directory on some linux machines.
Tested: local linux
2010-08-10 15:03:43 -05:00
Allen Byrne
9c21c3934a [svn-r19219] Corrected minor format/location of commands.
Tested: local linux
2010-08-10 14:35:44 -05:00
Albert Cheng
ac240e1ed4 [svn-r19216] Bug 1986, error1.
It is an error to use the condition H5_HAVE_FSEEK64 to control the definition
of HDlseek. It caused errors in AIX where lseek64 is available.

Replaced it with H5_HAVE_LSEEK64. Also added the missing HDstrcasecmp macro.

Tested: AIX using default and --disable-largefile.
2010-08-10 11:41:45 -05:00
Allen Byrne
ecdf033499 [svn-r19213] Test for compare of output text to expected needed to account for windows line endings.
Moved ADD_TEST commands to macro.

Tested: local linux, windows
2010-08-10 11:07:54 -05:00
Allen Byrne
a558736861 [svn-r19212] Updated cmake file with community suggested changes for cmake install files.
Removed configure check for fseek

Tested: local linux
2010-08-10 09:55:55 -05:00
Quincey Koziol
e5a5aed0cd [svn-r19208] Description:
Switch from using "UINT16_MAX" to "64 * 1024" for assert macro.

Tested on:
    None, just eyeballed.
2010-08-10 08:26:14 -05:00
Albert Cheng
9d208e402d [svn-r19204] Bug 1917: post cleanup.
fseek64 was used to support large file access for the STDIO driver back in
version 1.2.2 in year 2000.  Some how it was not included in version 1.4.0.
Now, fseeko64 is used to support large file. There is no more need for fseek64
which is not a standard call. Removed its presence from configure and related
files.

Tested: jam for configure only.
2010-08-09 17:12:38 -05:00
Allen Byrne
1e263eb46c [svn-r19200] Added tests that subdirectories exist before using ADD_SUBDIRECTORY CMake command
Added cache set command for default install prefix

Tested: local linux
2010-08-09 12:19:20 -05:00
Allen Byrne
56b00bca02 [svn-r19199] new expected output file for BZ1953 fix 2010-08-09 12:17:30 -05:00
Allen Byrne
02b5824f57 [svn-r19198] [BZ1953]implementation for the proposed changes suggested by the "h5dump_output_option" RFC. This required that the region reference code be duplicated and reduced to allow the do_bin_output() function to understand region references. The container type-id also needed to be propagated into the do_bin_output() function and functions referenced (render_bin_output*).
Existing tests tested the binary function, so only one test was added to test the region reference generated file.
Tested: local linux
2010-08-09 12:15:06 -05:00
Raymond Lu
a586c760ee [svn-r19196] Defined the file format version H5F_LIBVER_18 to prepare for the 1.10 release. It isn't used
anywhere yet.

Tested on jam - very simple change and not used.
2010-08-09 11:21:13 -05:00
Albert Cheng
b439d940fd [svn-r19194] Bug fix: ID 1917
Fixed a typo in the Windows definitions. Had __ftelli64, should be _ftelli64.

Tested by Allen in Windows platform.
2010-08-09 10:45:41 -05:00
Albert Cheng
d5817f6ac2 [svn-r19187] Bug fix: ID 1917
The STDIO only checked for fseeko and incorrectly assumed it can support file
sizes larger than 32bits. Fixed it by making to use fseeko64 if supported, else
use fseeko.  To simplify the code, assume fseeko which is a POSIX function must
be supported. Therefore, fseek is not used at all.
(Note: the above applies to Unix-like system.  The Windows platform has
hardcoding using Windows functions which are NOT POSIX compliant.)

Tested: h5committested. Also tested in BP (AIX) 32/64 and enable/disable-largefile.
2010-08-06 14:47:06 -05:00
Albert Cheng
7b375507ae [svn-r19186] Bug fix: ID 1917
In some machine (Linux), when --disable-largefile is used, it claims it has
fseeko64 but off64_t is NOT supported.  Moved the test of fseeko64 and ftello64
to where fseek64 is so that they are tested only if off64_t is supported.

Tested: h5committested.
2010-08-06 14:37:50 -05:00
Allen Byrne
ab1051e0b0 [svn-r19184] Corrected h5repack verbose test for windows
Updated tools/lib source dir variable for source list

Tested: local linux
2010-08-06 13:06:30 -05:00
Quincey Koziol
ae32ba97fd [svn-r19182] Description:
Bring r19179 from trunk to 1.8 branch:

Bring changes from Coverity branch back to trunk:

r19079 & 19080:
[BZ1942]  h5dump -u to generate XML, it does not respect the -m option

xml version of dump_data function didn't check for use of fp_format variable.

Added new test expected file for committed bug 1942

r19103, 19104 & 19105:
[BZ1821] h5repack -v did not display correct output for a selected compression. Needed new test for comparing output of -v option.

Added new test file for solution to BZ1821

BZ1821 - Bring test changes from the shell script actually used.

Tested on:
    Mac OS X/32 10.6.4 (amazon) debug & production
    (h5committested on branch)
2010-08-06 12:51:53 -05:00
Raymond Lu
2d9d60aef1 [svn-r19177] Took out several redundant lines when object IDs are closed.
Tested on jam.
2010-08-05 12:16:51 -05:00
Raymond Lu
bb83e1ff9a [svn-r19172] Bug fix for #1239 - The filter's public function CAN_APPLY should return htri_t not
herr_t.  To minimize the change of the library's behavior, in the function 
H5Z_prelude_callback of H5Z.c, if the return value of can_apply is FALSE and
the filter is MANDATE, this function returns a FAILURE.  If the return value is FALSE 
but the filter is OPTIONAL, this function returns a SUCCEED.  During the IO, the filter 
will fail and return a size of zero.  But the pipeline will skip this filter. 

Tested on jam, linew, and amani.  Tested on jam with szip.
2010-08-05 10:53:16 -05:00
Albert Cheng
30ac7d89a2 [svn-r19170] Bug fix: 1917.
The previous fix had the Windows code in H5private.h but they should have been
in H5win32defs.h which holds all Windows-specific definitions.  Moved the fix.

Tested: BP (AIX) to confirm the fix is still valid. Windows tests will occur
in daily tests tonight.
2010-08-04 19:13:49 -05:00
Quincey Koziol
ecee0e5e1e [svn-r19169] Description:
Bring r19168 from trunk to 1.8 branch:

	Clean up compiler warning

Tested on:
	None, eyeballed only (tested on trunk)
2010-08-03 23:22:21 -05:00
Albert Cheng
e440364f8e [svn-r19166] Bug fix: 1917.
Description:
test/big incorrectly determined not able to write files larger than 2GB and
skipped the SEC2 and STDIO driver tests.  The reason was because it was using
off_t while the SEC2 driver is using lseek64 which expects off64_t type.

Solution:
Created a new HDoff_t which is set to off_t or off64_t or other appropriate
type depending on which of lseek or lseek64 is available. Changed SEC2 file
driver and the big test to use this common definition.

Tested:
In BP (AIX), using --enable and --disable-largefile, for both 32 and 64 bits
modes.  Did not do h5committest because: 1. the error was exposed in the remote
BP machine; 2. the change is trivial.
2010-08-03 18:33:43 -05:00
Allen Byrne
28ffed9ebf [svn-r19164] Add configure changes from r19159 to CMake. 2010-08-02 09:04:20 -05:00
Albert Cheng
8dc3f63a87 [svn-r19159] Added the tests for fseeko64 and ftello64 which will be used by the STDIO
VFD if they are available.

Tested: jam only since it was tests for two new functions that are not used by
the code yet.
2010-07-30 15:05:25 -05:00
Quincey Koziol
77b2235f8b [svn-r19158] Description:
Bring r19156 from trunk to 1.8 branch:

    Bring revisions from Coverity branch back to trunk:

r19044:
Coverity #449 - Line 1560 called function H5O_chunk_protect for 2 pointers to allocate. But when there's failure on the second one, the first wasn't freed 
(H5O_chunk_unprotect).  We fixed it by freeing the pointers when an error happens.

r19045:
Fixed coverity issue # 319.  Free sec_node in done if it is not NULL.

r19046:
Add intended but missing assignments to initialize pointers to NULL (coverity issue fixes).

r19049:
Hdf5_1_8_coverity branch was recreated from hdf5_1_8 branch in revision 18839 without fix for Coverity issue #84 having been propagated to the hdf5_1_8 branch.  This revision adds the fix again.

r19060:
added parentheses to see if they will keep subversion from getting confused

r19061:
Fix coverity item 139.  Fixed incorrect condition for freeing buffer on error.

Fix coverity items 20 and 21.  Removed unused NTESTS facility from dtypes.c.

Cleanup in H5Shyper.c.

r19062:
Fix coverity item 450.  Check to see if chk_proxy has been allocated before
attempting to free it.

Fix coverity item 454.  Check to see if allocation of buf failed in
H5D_fill_refill_vl.

Fix coverity items 455-457.  Initilize hid_t's to -1, check their value before
attempting to close them, and check if the close failed.

r19063:
New fix to address coverity issue #84.  Check that pointers in H5Z_xform_find_type are not NULL before passing them to H5T_cmp.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (h5committested on Coverity branch)
2010-07-30 13:21:54 -05:00
Quincey Koziol
03ae0fecf0 [svn-r19157] Description:
Bring r19078 from Coverity branch to 1.8 branch (code doesn't exist on
trunk):

    Purpose:

        Resolve Memory Leaks

    Description:

        Free saved ID structures in H5I interface when library shuts down.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (Too minor to require h5committest)
2010-07-30 13:19:14 -05:00
Larry Knox
c173b3fee4 [svn-r19155] Remove line in clean target that removes installed header files.
Tested with h5 committest on amani, jam, heiwa and linew.
2010-07-29 17:26:42 -05:00
Quincey Koziol
6e3ff79f0c [svn-r19154] Description:
Bring r19153 from trunk to 1.8 branch:

    Bring changes on Coverity branch back to trunk:

r19040:
Fixed coverity #440 - NULL check after dereference.  We moved the NULL check up
into the IF block and changed it to assertion.

r19041:
Maintenance: Addressed Coverity issues 441 and 449 by initializing proper
variables

r19042:
In function H5O_chunk_protect (H5Ochunk.c):
 - Initialize H5O_chunk_proxy_t pointers chk_proxy and ret_value.
 - Free chk_proxy on error.

r19043:
Addressed coverity issues 442 - 448 by initializing pointers to NULL.

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (Too minor to require h5committest)
2010-07-29 14:17:29 -05:00
Raymond Lu
87172f5ba1 [svn-r19152] Correction from the previous checkin for H5Oattribute.c. Because the attribute structure it
is shared now. The only situation that requires copying the data is when the metadata cache 
evicts and reloads this attribute. The attribute structure will be different in that 
situation. 

Tested on jam.
2010-07-29 14:02:47 -05:00
Elena Pourmal
617e106e2e [svn-r19149] Maintenance: Removed misleading information about the HDF4-to-HDF5 tools. The tools became
a part of the h4h5tools distribution long time ago, but the INSTALL file
             was not updated in the development branch and slipped into 1.8 releases and current trunk.
2010-07-29 10:17:46 -05:00
Neil Fortner
1e906a363b [svn-r19147] Purpose: Fix bug in direct IO driver
Description:

In certain circumstances, the direct I/O driver did not perform correctly when
data was unaligned.  The driver has been patched to fix this.  Also added some
potential performance improvements for the unaligned case, and strengthened the
test for whether the data needs to be aligned.

Tested: cobalt
2010-07-28 17:26:59 -05:00
Raymond Lu
489e95c9b9 [svn-r19143] Update for the bug fix of #1956. 2010-07-28 14:45:07 -05:00
Raymond Lu
1c5e481694 [svn-r19141] I added H5Itest.c.
Not tested yet.
2010-07-28 14:19:24 -05:00
Raymond Lu
95b8e5dcef [svn-r19139] In line 861, there's no need to allocate data buffer or copy the data because the attribute
structure is shared now.  Only do an assertion check, instead.

Tested the same change for 1.8.5 on jam - simple change.
2010-07-28 12:31:26 -05:00
Allen Byrne
b37a6d8a29 [svn-r19136] Added new file to windows project files.
Added new file to src/CMakeLists.txt
2010-07-28 08:51:30 -05:00
Quincey Koziol
73ee20aeb7 [svn-r19134] Description:
Bring r19133 from trunk to 1.8 branch:

        Correct traversal of user-defined links (including external links) to
retain path information of object, allowing H5Iget_name() queries to work
quickly (without searching entire destination file).  This required some
refactoring and addition of a mechanism to detect if a "fast" query was
performed (for the tests).

        Minor code cleanups, etc.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committest performed on trunk)
2010-07-28 07:33:13 -05:00
Quincey Koziol
f99e0b9f75 [svn-r19132] Description:
Reduce compiler optimizations for v10.6, to work around bug with static
constant char *'s.

Tested on:
    Linux/32 2.4 (jam) w/PGI
2010-07-27 08:10:18 -05:00
Quincey Koziol
5ef52d534e [svn-r19129] Description:
Correct another inadvertant use of macro instead of versioned API name.

Tested on:
	Eyeballed only, too minor to require h5committest
2010-07-26 13:51:00 -05:00
Quincey Koziol
8cdd66656e [svn-r19128] Description:
Change use of API wrapper to using versioned API routine (i.e. H5Eprint
-> H5Eprint2)

Tested on:
        None, eyeballed only, too simple
2010-07-23 13:55:36 -05:00
Quincey Koziol
697078568d [svn-r19126] Description:
Bring r19124 from trunk to 1.8 branch:

Add some error checking to the process of creating superblock extension.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2010-07-22 13:47:07 -05:00
Quincey Koziol
42a3da6c70 [svn-r19121] Description:
Bump the testing timer value from 30 to 60 minutes.

Tested on:
        None, just eyeballed, too simple to require test
2010-07-22 08:14:04 -05:00
Quincey Koziol
6a6114b8da [svn-r19119] Description:
Fix return value from FAIL to NULL.

Tested on:
        Eyeballed only  
        (too trivial to test)
2010-07-21 12:15:13 -05:00
Allen Byrne
e401f1e336 [svn-r19117] Corrected positioning of cmake variables in definition order. 2010-07-21 09:01:04 -05:00
Quincey Koziol
9e76314bb7 [svn-r19115] Description:
Rename H5AC_set() to H5AC_insert_entry()
        Get rid of H5C_set_skip_flags() & related flags

Tested on:
        Mac OS X/32 10.6.4 (amazon) w/debug
        (too simple to require h5committest)
2010-07-20 13:52:37 -05:00
Allen Byrne
c5b81d49b5 [svn-r19109] Corrected cmake location of ConfigureChecks.cmake 2010-07-20 10:44:49 -05:00
Allen Byrne
c6a498f081 [svn-r19106] Move Resources folder to config/cmake
Tested: Local Linux
2010-07-20 10:25:40 -05:00
Quincey Koziol
7976c8c0ec [svn-r19100] Description:
Bring r19099 from trunk to 1.8 branch:

	Fix const pointer issues for projection construction routine and also
bump time before alarm kicks in to terminate a test from 20 minutes to 30
minutes, to give the PGI compiler tests w/debugging enabled a chance to finish.

Tested on:
	Mac OS X/32 10.6.4 (amazon) w/debug
	Linux/32 2.6.18 (jam) w/PGI & debug
2010-07-19 13:38:40 -05:00
Quincey Koziol
71ac1a7996 [svn-r19098] Description:
Add notes for recent performance improvements & bug fixes (r19092 &
r19097).
2010-07-19 11:35:54 -05:00
Quincey Koziol
a37131ef04 [svn-r19097] Description:
Bring r19096 from trunk to 1.8 branch:

	Bring "round robin" metadata write strategy code from 'round_robin'
branch to the trunk.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
       Mac OS X/32 10.6.3 (amazon) in debug mode
       Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2010-07-19 08:43:22 -05:00
Quincey Koziol
1ff6aff53d [svn-r19093] Description:
Bring r19092 from trunk to 1.8 branch:

	Bring "shape same" changes from LBL branch to trunk.  These changes
allow shapes that are the same, but projected into dataspaces with different
ranks to be detected correctly, and also contains code to project a dataspace
into greater/lesser number of dimensions, so the I/O can proceed in a faster
way.

	These changes also contain several bug fixes and _lots_ of code
cleanups to the MPI datatype creation code.

	Many other misc. code cleanup are included as well...

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-07-19 03:09:49 -05:00
HDF Tester
cf6e2c99a4 [svn-r19091] Snapshot version 1.8 release 5 (snap4) 2010-07-18 23:56:15 -05:00
Larry Knox
dd5d27951f [svn-r19082] Made ';' after H5_PUSH_FUNC consistent throughout H5private.h to fix compile failure with Sun 5.10 C compiler.
Added Sun 5.10 compilers to RELEASE.txt.

Tested on linew.
Tested on amani, heiwa, and jam with h5committest.
2010-07-16 16:35:35 -05:00
Neil Fortner
c3340f256d [svn-r19077] Purpose: Fix bug 1951
Description:
A bug introduced in 1.8.5 causes local heap data blocks to be mis-aligned when
sizeof_offsets + 2*sizeof_lengths is not a multiple of 8.  In this case, the
address of the data block as stored in the heap prefix is aligned but the actual
data block is not.  This causes files created with these sizes to be corrupted,
and prevents uncorrupted files with these sizes to be unreadable.  Modified
local heap code to account for alignment.

Tested: jam, amani, linew (h5committest)
2010-07-16 11:41:22 -05:00
Allen Byrne
bb02990b22 [svn-r19073] Added check for no encoding to determine result for test
Tested: Windows
2010-07-15 12:51:04 -05:00
Albert Cheng
cbfc509750 [svn-r19071] Bug 1921: change to use mpiexec.
Changed the mpirun to mpiexec in the comment line.

Tested: jam (pp). No h5committest since this applied in parallel only.
2010-07-14 12:24:59 -05:00
Albert Cheng
5330eb088b [svn-r19069] Document update: ID 1921 change mpirun to mpiexec
Changed the use of mpirun to mpiexec which is the MPI-2 official standard.
2010-07-14 12:06:44 -05:00
Albert Cheng
4b4501c8ad [svn-r19067] Bug fix: ID 1921 change mpirun to mpiexec
Removed the recognition of parallel compilers of LAM (hcc) and ChMPIon (cmpicc)
since we have no access to these two MPI implementations and decided not to
support them any more.

Test: Jam using parallel tests:
1. use CC=mpicc and confirmed it is recognized as a parallel compiler;
2. use CC=hcc and confirmed it is NOT recognized as a parallel compiler
any more.
2010-07-14 10:55:53 -05:00
Frank Baker
8f1e4e37bd [svn-r19066] Description:
Update pointer to HDF5 docs to point to 'hdfgroup.org'.
    Testing: Only the process of generating the "C++ RM" is tested.
        The software has not been tested with this change as it should 
        affect only the doxygen-generated documentation.
2010-07-13 15:44:39 -05:00
HDF Tester
d47b99c787 [svn-r19065] Snapshot version 1.8 release 5 (snap3) 2010-07-11 23:45:53 -05:00
Jonathan Kim
08bc4af366 [svn-r19058] Purpose:
add reference file entries for the new test expected output files

Description:
    This is related to r19053.

Tested:
    Windows (cmake)
2010-07-08 11:46:20 -05:00
Allen Byrne
e423bf9e40 [svn-r19055] Corrected a typo in a macro that used a version variable. 2010-07-08 08:48:11 -05:00
Allen Byrne
e1bd8be26c [svn-r19054] Added code to retrieve version info from H5public.h and corrected a typo in a configure check 2010-07-08 08:45:20 -05:00
Jonathan Kim
435f58c1b8 [svn-r19053] Purpose:
Add --no-dangling-links option to h5ls. 

Description:
Related to "Bug 1830 - Following an dangling external link in h5ls should set non-zero return code."
If --no-dangling-links option is specified and any dangling link is found, return exit code 1 (error).
Merged from hdf5 trunk r19051

Tested:
 jam, amani, heiwa
2010-07-07 15:06:20 -05:00
HDF Tester
68484a2099 [svn-r19048] Snapshot version 1.8 release 5 (snap2) 2010-07-04 23:38:15 -05:00
Allen Byrne
286b06971d [svn-r19036] Added executable Linker Flag for MSVC static builds: /NODEFAULTLIB:MSVCRT
Added VERSION vars for inclusion into auto snapshot version update script

Tested windows
2010-06-29 15:04:46 -05:00
Jonathan Kim
5ed817f734 [svn-r19035] Purpose:
Change h5ls not to manipulate special characters in object name or attribute name for smart display.

Description:
Merged from hdf5 trunk r19034.
Related to "But1784 h5ls has input and output issues with links that have '\' characters in them."

Tested:
 jam, amani
2010-06-28 16:47:00 -05:00
HDF Tester
016560f364 [svn-r19033] Snapshot version 1.8 release 5 (snap1) 2010-06-28 07:57:51 -05:00
Allen Byrne
464fe0dcfe [svn-r19029] added new cmake files for testing 2010-06-22 14:09:46 -05:00
Allen Byrne
d48508fb8c [svn-r19026] Add testing files to cmake resources.
Added code coverage option to cmake.

Tested: local linux
2010-06-22 13:35:19 -05:00
Allen Byrne
9f2151ac47 [svn-r19024] Correct defines for zlib and szip 2010-06-21 10:57:33 -05:00
HDF Tester
fe35798c4e [svn-r19023] Snapshot version 1.8 release 5 (snap0) 2010-06-20 23:54:58 -05:00
Albert Cheng
4e7be9656b [svn-r19020] Enhancements:
Cleaned up the code a bit by:
1. It used to that -xxx options must be at the beginning such that
   "buildhdf5 --disable-shared -config" was an error. Now -xxx options
   can appear anywhere in the command options.
2. Eliminate the need of variables $CONFIG_CXX, $CONFIG_FORTRAN,
   $CONFIG_PARALLEL by appending their values to $CONFIG_OP directly.
3. Also append $WITH_SZLIB to $CONFIG_OP when it is defined, not later.
4. Call CONFIG directly instead of setting up $CONFIGURE.
5. Removed the last TIMESTAMP since "trap 0" will call QUIT which calls
   TIMESTAMP already. This eliminated the extra timestamp when it finishes
   normal.

tested:
Tested by hand since h5committest does not really test this command.
2010-06-18 17:47:56 -05:00
Quincey Koziol
9ec02c1a45 [svn-r19016] Description:
Bring r19015 from trunk to 1.8 branch:
    
    Remove unused 'ATYPE' parameter from H5T_CONV() macro

    Remove unused 'result' variable from H5AC_set()

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (too minor to require h5committest)
2010-06-17 12:21:16 -05:00
Mike McGreevy
91ef172e02 [svn-r19014] Copy the final RELEASE.txt from hdf5_1_8_5 release branch into
the HISTORY-1_8.txt file of the 1.8 branch.
2010-06-17 10:54:16 -05:00
Neil Fortner
8da26a5292 [svn-r19007] Purpose: Improve performance of the the chunk cache
Description:
Previously, the chunk cache would, when looking for a chunk, alwaylook for the
chunk in the b-tree before checking the cache.  Reworked the functions that
look up chunks to always check the cache first and avoid the b-tree lookup if
the chunk is in cache.

Tested: jam, linew, amani (h5committest)
2010-06-15 16:27:32 -05:00
Allen Byrne
7e95f3b4ce [svn-r19002] Corrected large file option 2010-06-14 15:31:31 -05:00
Allen Byrne
2d39a76b36 [svn-r19000] Removed and added files in CMake Resources folder 2010-06-14 14:21:10 -05:00
Allen Byrne
58edb9ab9c [svn-r18997] Updated config files and install commands per external developers recommendations. (r18996)
Tested: local linux
2010-06-14 14:11:40 -05:00
Albert Cheng
cfcbb212c8 [svn-r18991] Bug Fix: (ID 1921)
PHDF5 changed to use "mpiexec", instead of mpirun, as the default MPI
applications startup command as defined in the MPI-2 definition, section
4.1.  Note that only mpich related (using mpicc command) definitions are
changed to mpiexec. Other favors like hcc, AIX, champion, are not changed
since I don't have a way to verify them yet.

Tested:
jam and amani, using both current and new mpich.
Did not h5committested since this affects PHDF5 configure only.
2010-06-11 16:26:55 -05:00
Vailin Choi
63ec418681 [svn-r18990] Put in the same fix for windows manifested from test/mf.c failures in the trunk.
H5FD_stdio_truncate() windows code: need to do a rewind
2010-06-11 11:55:51 -05:00
Frank Baker
8c5325ccd3 [svn-r18988] Description:
Add acknowledgment of LBNL contractual support.
2010-06-08 13:52:18 -05:00
Albert Cheng
e8886d2d6a [svn-r18986] Test feature: (bugs 1919)
Problem:
some launching command like yod (and sometimes mpirun), do not pass
back the exit code of the executables back to the shell. It always returns 0
if it can launch the executable. This cause tests that expect non-zero exit
code to fail incorrectly.

Short term Solution:
Added the feature that if $RUNSERIAL_NOEXITCODE is defined, do not
test conditions that rely on non-zero exit code.

Tests:
dove-linux using RUNSERIAL=thgyod to see the failures and using
$RUNSERIAL_NOEXITCODE=yes to bypass the errors.
Also h5committested.
2010-06-08 13:23:48 -05:00
Larry Knox
f827580d23 [svn-r18979] Added comments regarding the -D_POSIX_SOURCE flag including a reference to a dis
cussion of the _POSIX_SOURCE, BSD_SOURCE, and _POSIX_C_SOURCE Macros and their i
ntersaction at http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.ht
ml.

Comment text only - not tested.
2010-06-04 14:22:09 -05:00
Albert Cheng
d10df9b8ae [svn-r18971] Updated with SNL Glory information.
Removed the retired thunderbird and NCSA Teragrid.
2010-06-03 19:31:04 -05:00
Albert Cheng
04592188fb [svn-r18969] Updated with Red Storm information. 2010-06-03 19:20:30 -05:00
Albert Cheng
88a247d82a [svn-r18967] updated with AIX support information. 2010-06-03 18:47:50 -05:00
Allen Byrne
9752e55b78 [svn-r18964] Windows use of VC_EXTRALEAN no longer did anything. It has been replaced by WIN32_LEAN_AND_MEAN macro. This was the cause of a define conflict causing the use of grp1 and grp2 to be replaced with constants in the h5dumpgentest.c file.
This also affected the use of the #include <winsock.h> needed by gethostname. The new include: winsock2.h has been added to h5private.h and either removed or updated in the other files.

Tested:  Windows
2010-06-03 17:15:30 -05:00
Mike McGreevy
7469fe0563 [svn-r18962] Purpose:
Add Acknowledgments file to 1.8 branch
2010-06-03 17:10:44 -05:00
Jonathan Kim
d8947d7370 [svn-r18961] Purpose:
Fixed Windows compile error. Renamed to use 'gid1' and 'gid2' instead of 
  'grp1' and 'grp2'. 

Description:
  This is related SVN r18946. 
  There is variable name confliction with 'grp1' ~ 'grp9' in Windows system. 
  It occurs if H5private.h is included in the code.
2010-06-03 15:27:24 -05:00
Allen Byrne
ddec11ecb0 [svn-r18957] Corrected name of external libraries 2010-06-03 13:51:19 -05:00
Albert Cheng
9386bcdd3a [svn-r18951] Recorded the change of configure default setting to --disable-production. 2010-06-02 17:43:04 -05:00
Allen Byrne
6aacfd8f5e [svn-r18949] Corrected where the static *.mod files are installed to 2010-06-02 16:00:24 -05:00
Jonathan Kim
e72723aa7f [svn-r18948] Purpose:
Update Windows testing for h5ls according to the updates for 
    Support follow symbolic links.

Description:
    Sync with hdf5 1.8 branch SVN r18946
2010-06-02 15:21:30 -05:00
Jonathan Kim
3aa2b25b99 [svn-r18946] Purpose:
Support follow symbolic links.

Description:
    Merged from hdf5 trunk r18943.
    Add '--follow-symlinks' option to follow symbolic links (soft and external).
    Update help page according to RM.
    Remove some warning messages from compiler.

Tested:
    jam
2010-06-02 14:53:59 -05:00
Allen Byrne
b9e2bd7f54 [svn-r18945] Added gcc version to cygwin line 2010-06-02 14:31:49 -05:00
Allen Byrne
8e4c61184a [svn-r18939] Removed support for MinGW. 2010-06-01 15:27:23 -05:00
Allen Byrne
3282774883 [svn-r18937] Update Cygwin and Windows references 2010-06-01 14:32:49 -05:00
Mike McGreevy
6083c0888f [svn-r18936] Purpose:
Update RELEASE.txt with compiler information and known
    issues for NCSA Cobalt.
2010-06-01 14:30:19 -05:00
Allen Byrne
c9260b3978 [svn-r18932] Update Cygwin install instructions 2010-06-01 14:21:15 -05:00
Albert Cheng
b5542f6bb9 [svn-r18928] New feature:
Added ibm-flags to display the IBM XL compilers version information so that configure
can report them in the configure summary and the libhdf5.settings file.
For now, only the C compiler (xlc) versions are displayed.

Also moved the C compiler options setting from ibm-aix to ibm-flags.

Tested: NCSA Blue-print, both 32 and 64 bit modes.
2010-06-01 02:02:03 -05:00
Quincey Koziol
28b214719b [svn-r18927] Description:
Get down to just one "resize_configs_are_equal" comparison routine.

Tested on:
    Mac OS X/32 10.6.3 (amazon)
    (too minor to require h5committest)
2010-05-31 13:46:04 -05:00
Allen Byrne
8bfe9e54bd [svn-r18924] Updated install of fortran mod files
Tested: local linux
2010-05-28 16:25:17 -05:00
Albert Cheng
0844b48690 [svn-r18923] Changed v1.8 default setting to --disable-production.
Tested: h5committest plus jam (serial) tested.
2010-05-28 16:05:56 -05:00
Quincey Koziol
e4246519c9 [svn-r18920] Description:
Bring r18917 from trunk to 1.8 branch:

	Bring r18911 (plus some adaptions to match the code on the trunk)
from the metadata journaling "merging" branch to the trunk:

	More general changes to align trunk with eventual changes from
metadata journaling branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
2010-05-27 17:57:29 -05:00
Quincey Koziol
fc3de1ec79 [svn-r18916] Description:
Bring r18915 from trunk to 1.8 branch:

    Clean up a couple of compiler warnings (in Windows).

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor to require h5committest)
2010-05-27 15:00:44 -05:00
Allen Byrne
087053398a [svn-r18913] Added missing fortran library in list of libraries.
Tested: Windows, local linux
2010-05-27 11:49:14 -05:00
Allen Byrne
29efe61c8a [svn-r18907] Corrected name of cstub libraries (needed to be lowercase) 2010-05-26 13:58:29 -05:00
Allen Byrne
7c054adff5 [svn-r18905] Updated with new name of CMake.txt 2010-05-26 11:55:13 -05:00
Allen Byrne
da2ae59533 [svn-r18902] Renamed Cmake specific document, making more general for all platforms. Updated references in other files. 2010-05-26 11:44:45 -05:00
Allen Byrne
93d9ebc507 [svn-r18897] Added fortran /dbglibs option to fortran compile flags for windows intel fortran case.
Duplicated windows intel fortran flag block for hl/fortran

Tested: windows
2010-05-25 16:19:31 -05:00
Neil Fortner
842d0d310b [svn-r18895] Purpose: Improve allocation performance of filtered datasets with non-default VL
fill values.

Description:
Previously, H5D_chunk_allocate would, if a dataset were filtered and had a non-default VL fill value, allocate a new buffer for every chunk.  Changed
H5D_chunk_allocate to reuse the existing buffer if possible.  Also other
miscellaneous cleanup.

Tested: jam, linew, amani (h5committest)
2010-05-25 15:40:38 -05:00
Albert Cheng
fdaeddcdcd [svn-r18892] Improvment:
Revised the online help page of h5dump to explain the packed bits feature and
added an example too.

Tested: h5committest plus jam tested with --disable-h5dump-packedbits.
2010-05-25 15:29:36 -05:00
Allen Byrne
0ee8e4c7ad [svn-r18889] Update CMake fortran configure/build with changes from community.
- Add an install rule to copy compiled fortran module files
- Only build the xlatefile utility if testing and tools are enabled
- Don't do MPI HAVE_XXX checks until MPI_FOUND is true
- Install needs H5version.h & H5overflow.h to be copied
- Add debug information flags to debug compile and link lines for win32 Intel compiler
2010-05-25 11:00:24 -05:00
Allen Byrne
c86d77e1fe [svn-r18886] Add -C {Debug | Release} to ctest command line 2010-05-24 08:39:10 -05:00
Elena Pourmal
7f86dac06b [svn-r18883] Maintenance: Brought fixes for bug 1851 (DS failures on PPC) to 1.8 branch
Platforms tested: juniper-w (Mac PPC), linew (64-bit), jam, amani
2010-05-22 14:11:27 -05:00
Allen Byrne
6ad7da65a4 [svn-r18878] Update testh5diff.bat for --follow-symlinks change
Tested:  windows
2010-05-21 16:51:06 -05:00
Jonathan Kim
6cd165398b [svn-r18874] Purpose:
Rename '--follow-links' to '--follow-symlinks' 

Description:
    The '--follow-links' option is to follow symbolic links (soft and external).
    Make the name more intuitive and specific to the feature.
    Merged from hdf5 trunk r18873.

Tested:
    jam
2010-05-21 15:31:03 -05:00
Quincey Koziol
1fb2abb7f8 [svn-r18872] Description:
Bring r18871 from trunk to 1.8 branch:

     Clean up compiler warnings (on Windows, I hope) by marking some routines
 as taking 'volatile' parameters.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor for h5committest)
2010-05-21 14:13:07 -05:00
Neil Fortner
8bd419e088 [svn-r18869] Purpose: Fix bug in dataset shrinking algorithm
Description:
Previously, it was possible for a chunk to be flushed due to chunk operations in
the callback from H5B_iterate in H5D_chunk_prune_by_extent.  Because flushing
the chunk can force it to be reallocated if it is filtered, this can change the
contents of the chunk b-tree in the middle of H5B_iterate.  Because H5B_iterate
uses a locally cached copy of the b-tree, this causes subsequent operations
to be passed incorrect data.  Rewrote H5D_chunk_prune_by_extent to avoid
H5B_iterate entirely.

Also fixed a bug in the dataset expand algorithm that could cause extra chunks
to be created.

Tested: jam, linew, smirom (h5committest)
2010-05-20 16:59:01 -05:00
Quincey Koziol
83f50e5a72 [svn-r18865] Description:
Bring r18864 from trunk to 1.8 branch:

	General cleanups to align metadata journaling branch and trunk

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-05-20 07:43:30 -05:00
Allen Byrne
02a2333199 [svn-r18860] pull r18858 from 185;
Cange allocation of buffer to use the specified dimensions to calculate the size of a data buffer. Also removed any initialized values.
2010-05-19 17:13:23 -05:00
Allen Byrne
0fe834c473 [svn-r18855] Added CPack commands for installtion program
Tested: local linux and Windows
2010-05-19 15:03:17 -05:00
Allen Byrne
79a9d1ea51 [svn-r18854] Add CPack variables
Tested: Windows
2010-05-18 16:36:23 -05:00
Quincey Koziol
4e0e18dfa5 [svn-r18851] Description:
Bring r18837 from trunk to 1.8 branch:

	Remove the size parameter from H5[A]C_unprotect() and the
H5[A]C__SIZE_CHANGED_FLAG, switching all clients & tests over to using
H5[A]C_resize_entry appropriately.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Mac OS X/32 10.6.3 (amazon) in debug mode
       Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
	(h5committested on trunk)
2010-05-18 14:09:04 -05:00
Allen Byrne
38df150e16 [svn-r18850] Added packed-bits tests to batch file
Tested: windows
2010-05-18 13:38:06 -05:00
Raymond Lu
92a21ab279 [svn-r18848] Corrected the -M and some dataset names with uppercase letters for packed bits tests. On
VMS, the uppercase letters have to be quoted on command line.

Tested on OpenVMS.
2010-05-18 13:30:12 -05:00
Allen Byrne
210f3f9676 [svn-r18847] Removed obsolete packed bits tests 2010-05-18 12:32:02 -05:00
Raymond Lu
afa5376210 [svn-r18845] Albert added more tests for packed bits. I made the change accordingly.
Not tested yet.
2010-05-18 11:13:46 -05:00
Allen Byrne
b6cfff5af7 [svn-r18844] Removed failing tests comment. 2010-05-18 11:03:56 -05:00
Mike McGreevy
973c61fd42 [svn-r18841] Changed version number to 1.8.4-snap0
Updated RELEASE.txt file accordingly.
2010-05-18 10:26:01 -05:00
Larry Knox
a41fb65b7c [svn-r18836] Added code to config files, libhdf5.settings.in and configure.in to add compiler version information for fortran and C++ in the settings file and the configure output for our common compilers on linux, solaris, and mac(gnu only).
Tested:  amani, jam, linew (h5committest) and with configure on these machines and tejeda.
2010-05-17 17:23:23 -05:00
Quincey Koziol
b85900177f [svn-r18835] Description:
Correct function enter macro and add 'done' label, for routine that is
only invoked when configured with --enable-debug=all.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug & production
    (too minor to require h5committest)
2010-05-17 16:18:46 -05:00
Quincey Koziol
ed89c38587 [svn-r18833] Description:
Correct error where variable didn't always get initialized correctly.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug & prod
    Windows w/debug & prod
2010-05-17 16:08:40 -05:00
Allen Byrne
b2b00a7c4d [svn-r18830] Updated CMake file with r18826
Tested: local linux
2010-05-17 14:51:06 -05:00
Albert Cheng
07ed9b81ae [svn-r18829] Updated with the newly added packed bit test files.
Tested: bin/chkmanifest'ed in Jam.
2010-05-17 14:50:30 -05:00
Quincey Koziol
c47a15cb54 [svn-r18828] Description:
Correct error where variable didn't always get initialized correctly.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug & prod
    Windows w/debug & prod
2010-05-17 14:29:21 -05:00
Albert Cheng
7144b18c76 [svn-r18826] Added packed bits tests on Compound and Array data types.
Tested: AlbertPax. Will do h5committest after check in.
2010-05-17 10:44:57 -05:00
HDF Tester
d146500357 [svn-r18825] Snapshot version 1.8 release 4 (snap22) 2010-05-16 20:52:48 -05:00
Albert Cheng
174cc7b19e [svn-r18821] Packed bits codes tidy up. Removed codes that are not needed
any more. Changed algorithm of creating mask which now sits
at the least significant bits. Display data by down shift
first and then mask it for display. Changed the variable
names to reflect the new purpose better.

Tested: AlbertPax (linux)
2010-05-15 00:40:00 -05:00
Elena Pourmal
b8f131dc78 [svn-r18820] Bug fix:
Fixed a bug (1822) in the H5DSdetach_scale function when 0 bytes
    were allocated after the last reference to a dim. scale
    was removed from the list of references in a VL element of the
    DIMENSION_LIST attribute; modified the function to comply
    with the Spec: DIMENSION_LIST attribute is deleted now when no
    dimension scales left attached.

Platforms tested: jam with electric fence, amani amd linew
2010-05-14 23:28:50 -05:00
Larry Knox
96c13847a6 [svn-r18817] Added scripts to compile and run installed examples. The scripts are installed with the examples, and there is one script to run the scripts for all hl examples and another to run the scripts for all the examples.
Tested:  amani, jam, linew (h5committest).
2010-05-14 17:05:48 -05:00
Allen Byrne
5c2734ec51 [svn-r18815] Move progname and d_status functions from h5tools to h5tools_util
Tested:
    linux and windows
2010-05-14 16:53:41 -05:00
Jonathan Kim
fdd92eb3b8 [svn-r18814] Purpose:
Add bug fixes for Tools.

Description:
    Added list from bugzilla:
    1726 - NPOESS: h5repack loses attributes for datasets of type H5T_REFERENCE
    1814 - NPOESS: h5repack doesn't handle references to the groups as an 
                   element of a dataset
    1817 - h5copy fail to copy dangling link by specifying link path directly
    1793 - h5ls on a non-existent file gives 0 return code

Tested:
    not need, just text update.
2010-05-14 16:52:14 -05:00
Allen Byrne
06bbdb5e59 [svn-r18812] moved reference to noname-packedbits file to packed bits section 2010-05-14 16:13:45 -05:00
Albert Cheng
3b9291b0b1 [svn-r18810] Bug fix:
Program failued in FreeBSD and Windows machines because uint is a local
backward compatibility extension of Linux.  Changed them to the proper
"unsigned int".

Tested: FreeBSD (liberty,duty), h5committested.
2010-05-14 16:09:34 -05:00
Mike McGreevy
c4b0bcda12 [svn-r18809] Purpose:
Fixed file cleanup during make distclean / make check.

Description:

    The h5jam Makefile and the h5importtestutil.sh script both included cleanup
    steps that removed "*.txt" from the directory. This resulted in the new
    CMake specific configuration file, CMakeLists.txt, getting blown away by 
    make distclean (for h5jam) and make check (for h5import).

    I've removed the *.txt from the h5jam Makefile as the directory looks to be
    getting cleaned appropriately without it, and I've modified the h5import
    script h5importtestutil.sh to point to the specific .txt files to clean.

Tested:

    jam
2010-05-14 15:30:58 -05:00
Mike McGreevy
9635cdc24f [svn-r18807] Purpose:
RELEASE.txt update

Description:

    Reorganize RELEASE.txt

Tested:

    None needed.
2010-05-14 13:55:34 -05:00
Mike McGreevy
912e7b99ee [svn-r18806] Purpose:
Update RELEASE.txt

Description:

    Remove outdated known issue (should have been removed 
    from 1.8.4, whoops) from RELEASE.txt

Tested:

    doc only, none needed.
2010-05-14 13:47:21 -05:00
Mike McGreevy
453a3910ab [svn-r18805] Purpose:
Fix memory leaks

Description

    Added a routine to free memory which addresses a memory leak
    when variable length strings are used as fill values.

    Also added some minor tweaks to the H5I 'save ID structures' mechanic.

Tested:

    h5committest and valgrind (on jam/amani) to confirm freed memory.
2010-05-14 13:45:07 -05:00
Binh-Minh Ribler
fbb8709e40 [svn-r18802] Description:
Added notes about
	+ CommonFG::getObjnameByIdx char* for name
        + CommonFG::getObjTypeByIdx char* for type
	+ PropList::PropList(id) pclass id/plist id
2010-05-14 10:09:58 -05:00
Quincey Koziol
9c1fa1d37c [svn-r18800] Description:
Added note about use of volatile for variables.

    Added blurb to release notes about fixing strict-aliasing problems.

Tested on:
    None - trivial change to comment.
2010-05-13 18:06:45 -05:00
Allen Byrne
23aa825f5e [svn-r18798] Updated CMakeLists to match changes r18794-18796
Even figured out which are expected to fail!

Tested: Local linux
2010-05-13 17:10:17 -05:00
Albert Cheng
651a34abd5 [svn-r18797] updated with added and deleted files for the h5dump packed-bits feature tests. 2010-05-13 16:47:51 -05:00
Albert Cheng
a44c942518 [svn-r18796] Enhancement 1853:
Install packed-bits feature for h5dump.

tools/h5dump/h5dump.c:
    Added lots of error checking into parse_mask_list() to catch and
    flagged packed-bits argument errors. For now, the packed bits
    are limited to 1 byte (8 bits) range.

tools/h5dump/testh5dump.sh.in
    Added 10 new packed-bits test to verify normal operation and argument
    error detection.

tools/lib/h5tools.h:
tools/lib/h5tools_str.c:
tools/lib/h5tools.c:
    Only name changes of the packed-bit global variables to reflect
    the nature of the variable better, IMO.

Tested: albertPax (linux)
------------------------------------------------------------------------
2010-05-13 16:42:16 -05:00
Albert Cheng
11562046e1 [svn-r18795] Enhancement 1853:
Install packed-bits feature for h5dump.

Added gent_packedbits() to generate the HDF5 test data
file, packedbits.h5, for packed-bit feature test.

Tested: albertPax (linux)
------------------------------------------------------------------------
2010-05-13 16:00:31 -05:00
Albert Cheng
5f2cf7e80c [svn-r18794] Enhancement 1853:
Install packed-bits feature for h5dump.

testfiles/packedbits.h5:
New HDF5 test data file. Generated by h5dump/h5dumpgentest.

testfiles/tpbitsLengthPositive.ddl:
testfiles/tpbitsMaxExceeded.ddl:
testfiles/tpbitsSigned.ddl:
testfiles/tpbitsOffsetNegative.ddl:
testfiles/tpbitsUnsigned.ddl:
testfiles/tpbitsMax.ddl:
testfiles/tpbitsIncomplete.ddl:
testfiles/tpbitsOverlapped.ddl:
testfiles/tpbitsLengthExceeded.ddl:
testfiles/tpbitsOffsetExceeded.ddl:
    Expected output files created to test various
    components of the packed-bits feature.

testfiles/tpackedbits2.ddl:
testfiles/tpackedbits.ddl:
    Previous output files no longer used.

Tested: albertPax (linux)
2010-05-13 15:49:31 -05:00
Quincey Koziol
26205360a4 [svn-r18792] Description:
Correct error in H5C_resize_entry() where protected entry sizes were
not updated if the entry being resized was both pinned and protected.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-05-13 10:30:40 -05:00
Allen Byrne
103da21db1 [svn-r18787] Added h5tools.h include to h5diff_common.h to fix warnings about the new progname and status functions
Tested: local linux
2010-05-13 09:21:22 -05:00
Allen Byrne
ba58f2ddb7 [svn-r18786] Corrected typo which prevented non-windows diff tests to work correctly
Tested: local linux
2010-05-13 09:01:11 -05:00
Quincey Koziol
e8b63136be [svn-r18784] Description:
Fix unterminated comment.

Tested on:
    None - just eyeballed.
2010-05-13 08:12:11 -05:00
Allen Byrne
df8026cc51 [svn-r18780] Corrected typo of variable used by H5srcdir_str.h.in.
No test as it is actually not used in branch
2010-05-12 16:22:38 -05:00
Larry Knox
fa416bde84 [svn-r18779] Add ${DESTDIR} to scripts and Makefiles so that make DESTDIR=<install directory> install, installcheck and uninstall is supported for installing examples, since they are now installed as part of make install. This was necessary for rpmbuilds, but should also be supported otherwise.
Tested:  amani, jam, linew with committest, rpmbuild on jam and amani.
2010-05-12 15:55:52 -05:00
Allen Byrne
eeeb393762 [svn-r18777] Moved declaration to top of function, windows compiler issue.
Tested: Windows
2010-05-12 14:53:17 -05:00
Raymond Lu
54276b5732 [svn-r18776] I corrected a typo.
No test.
2010-05-12 14:13:47 -05:00
Raymond Lu
9ba1882211 [svn-r18775] I added 2 tests for packed bits. I didn't use the new macro H5_HAVE_H5DUMP_PACKED_BITS for
these tests.  

Not tested yet.
2010-05-12 14:05:43 -05:00
Raymond Lu
a8a94d5710 [svn-r18774] I added a new macro H5_HAVE_H5DUMP_PACKED_BITS.
Not tested yet.
2010-05-12 13:57:59 -05:00
Allen Byrne
84103cef85 [svn-r18773] Add files to support building library with CMake
Tested: Local linux
2010-05-12 13:51:33 -05:00
Allen Byrne
08ce72aebd [svn-r18772] Remove hard coded path to generated file.
Tested: local linux, windows
2010-05-12 11:56:45 -05:00
Quincey Koziol
9c660949f5 [svn-r18769] Description:
Bring r18768 from trunk to 1.8 branch:

	Correct a mis-merged patch when marking an entry dirty.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
	(h5committested on trunk)
2010-05-11 19:41:09 -05:00
Allen Byrne
809e91b53c [svn-r18764] Corrected typo in Fortran CStub DLL section 2010-05-11 16:20:43 -05:00
Allen Byrne
e6364578ed [svn-r18762] File needed to correctly set new H5TOOLS_* export/import attribute 2010-05-11 16:00:21 -05:00
Allen Byrne
a46dea6017 [svn-r18758] Corrected missed progname to function instance 2010-05-11 14:40:17 -05:00
Allen Byrne
05d75af8b8 [svn-r18757] Enable tools lib to be built as a dll on windows. Added two get/set functions for progname and d_status.
Also add windows import/export declarations to functions.
Updated windows - H5pubconf.h for packed bits function

Tested:
   Windows, linux
2010-05-11 12:49:41 -05:00
Binh-Minh Ribler
9e595dec19 [svn-r18749] Purpose: Fixed bugs 1852 & 1599
Description:
    - When a property class id is given to PropList(id), create new prop
      list, but when a property list id is given, make a copy of it.
    - Fixed operator= to use setId() properly.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2010-05-09 20:04:50 -05:00
HDF Tester
4bebb65cc9 [svn-r18748] Snapshot version 1.8 release 4 (snap21) 2010-05-09 20:02:02 -05:00
Albert Cheng
bee2ae29db [svn-r18744] Updated with the three new expected output files for
the packed-bits tests.
2010-05-07 16:03:40 -05:00
Albert Cheng
7c16aec7e1 [svn-r18743] enhancement 1853:
Install packed-bits feature for h5dump.

Allen has installed the feature in the NPOESS feature branch.
I ported it back to the v1.8 branch for v1.8.5 release.

tools/h5dump/testh5dump.sh.in:
    Added tests for the packed-bits feature.
tools/h5dump/h5dump.c
tools/h5dump/h5dump.h
    Added code to parse and handled the packed-bits request.
tools/lib/h5tools.h
tools/lib/h5tools_str.c
tools/lib/h5tools.c
    Added code to print packed-bits.
tools/testfiles/tpackedbits2.ddl
tools/testfiles/tnofilename-with-packed-bits.ddl
tools/testfiles/tpackedbits.ddl
    Expected output files for packed-bits feature.

Tested:
    h5committested the NPOESS branch.
    Tested in the linux VM machine in my Dove.
2010-05-07 15:56:54 -05:00
Quincey Koziol
ae6f5891b5 [svn-r18741] Description:
Bring r18740 from trunk to 1.8 branch:

	Bring r18738 from metadata journaling 'merging' branch to trunk:

	Switch H5AC_resize_pinned_entry() to work on protected entries as well,
and rename to H5AC_resize_entry()

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-05-06 22:02:03 -05:00
Binh-Minh Ribler
e87f3dd558 [svn-r18728] Purpose: Fixed bug# 1719
Description:
    Closed a temporarily opened datatype to clean up memory leak,
    in getTypeClass.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2010-05-06 12:00:29 -05:00
Quincey Koziol
abd749619d [svn-r18726] Description:
Bring r18725 from trunk to 1.8 branch:

	Bring r18724 from metadata journaling 'merging' branch to trunk:

	Rename H5[A]C_rename to H5[A]C_move_entry.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-05-06 10:39:23 -05:00
Quincey Koziol
b95c7d1879 [svn-r18722] Description:
Bring r18721 from trunk to 1.8 branch:

	Bring r18720 from metadata journaling merging branch to trunk:

	Bring changes from metadata journaling branch to 'merging' branch:

	Rename H5[A]C_mark_pinned_or_protected_entry_dirty() to
H5[A]C_mark_entry_dirty() and get rid of H5[A]C_mark_pinned_entry_dirty().

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-05-06 09:19:28 -05:00
Quincey Koziol
2c38d7ea30 [svn-r18717] Description:
Bring r18716 from trunk to 1.8 branch:

	Bring r18715 from metadata journaling merging branch to trunk:

	Changes to further align trunk with state of metadata journaling branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2010-05-05 19:44:01 -05:00
Mike McGreevy
e984ec4948 [svn-r18710] Purpose:
Improve configure's large-file support control.

Description:

    Modified configure to now attempt to add defines necessary for
    supporting largefiles on all systems, instead of solely on linux. This 
    is in response to user requests to enable largefile support on Solaris 
    by default, as well as to give extra control on AIX (instead of just 
    jamming the necessary flag into the config files).

    The old --enable-linux-lfs flag is being deprecated in favor of the
    --enable-largefile flag (enabled by default), which can be used on all
    platforms. --disable-linux-lfs can still be used to disable largefile
    support (on linux) when the --enable-largefile flag is not specified.

    On systems where large files cannot be supported in this manner,
    configure will report as such.

Tested:

    h5committest
    AIX (NCSA's blue_print machine)
    duty, liberty, and linew.
2010-05-05 12:35:04 -05:00
Raymond Lu
c8ec7a14bc [svn-r18707] I added an item in the Known Problems for the compiler's rounding problem on Cygwin running on
Windows XP.  It happens in dt_arith.c when converting from unsigned long long to long double (see
bug #1813).
2010-05-05 11:26:17 -05:00
Raymond Lu
b93621ecf5 [svn-r18706] I changed the macro H5_CYGWIN (checked in with round 18696) to H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM to make it more descriptive.
I tested on jam and Cygwin.
2010-05-05 10:47:44 -05:00
Quincey Koziol
3f3a900177 [svn-r18704] Description:
Bring r18702 from trunk to 1.8 branch:

	Bring r18672 from metadata journaling "merging" branch to trunk:

	Mostly changes to move to only using one 'user data' parameter for
calls to H5AC_protect(), along with some minor reformatting code cleanups.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.3 (amazon) in debug mode
       Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2010-05-05 09:45:57 -05:00
Binh-Minh Ribler
f2190dd264 [svn-r18703] Purpose: Fixed bug# 1783
Description:
    Corrected typo in documentation.
Platforms tested:
    Linux/32 2.6 (jam) - very minor
2010-05-05 08:42:12 -05:00
Albert Cheng
f20bd5f624 [svn-r18701] ID 1853:
Added the configure option --enable-h5dump-packed-bits for the h5dump
optional feature.

Tested:
Jam (default and --disable-h5dump-packed-bits).
2010-05-04 18:57:47 -05:00
Raymond Lu
7cb55dd052 [svn-r18696] I added a macro definition if the system is Cygwin in configure.in. This macro is used to skip
the data conversion test from unsigned long long to long double.  The GCC on Cygwin seems to 
have rounding problem when doing conversion from unsigned long long to long double (Please bug
#1813).

Tested on jam.  I'll test it on Cygwin after this checkin.
2010-05-04 11:35:11 -05:00
Larry Knox
f80d971c3b [svn-r18694] Correct missing line (fi) in revision 18680 and remove incorrect code to install scripts to run examples. Correct code to install the scripts will be checked in later.
Tested on amani and talwit using daily test shell.
2010-05-03 14:40:36 -05:00
Binh-Minh Ribler
4f171f2b21 [svn-r18693] Description:
Using header file H5private.h for HDstrcpy in H5CommonFG.cpp.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/32 6.3 (duty)
2010-05-03 13:25:18 -05:00
Binh-Minh Ribler
7cdb95c5c2 [svn-r18691] Description:
Added #ifndef H5_NO_DEPRECATED_SYMBOLS to getObjTypeByIdx tests.
Platforms tested:
    amani - with --disable-deprecated-symbols
2010-05-03 11:37:25 -05:00
Binh-Minh Ribler
365e16c480 [svn-r18689] Description:
Added missing overloaded function getObjTypeByIdx to return type name
    as a char*.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2010-05-03 08:12:12 -05:00
HDF Tester
47fef210e8 [svn-r18688] Snapshot version 1.8 release 4 (snap20) 2010-05-02 20:39:59 -05:00
Binh-Minh Ribler
be0a7c4a64 [svn-r18683] Purpose: Fix bugzilla 1857
Description:
    Added missing overloaded function getObjnameByIdx to take char* for name.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2010-05-02 10:10:11 -05:00
Larry Knox
6d912b6394 [svn-r18680] Added running make install-examples to make install. Make install-examples will still install example files and make install will also install them. 2010-04-30 15:28:45 -05:00
Raymond Lu
d44e26b78a [svn-r18679] Albert fixed the bug (#1764) in H5detect.c and added a few new macros in H5config.h.in.
I added them - H5_HAVE_SETJMP, H5_HAVE_SIGPROCMASK, and H5_HAVE_SIGSETJMP.  

Tested on OpenVMS and everything passed.
2010-04-30 10:58:23 -05:00
Albert Cheng
ff0135b9b8 [svn-r18678] Just mopped up some looseends by using the macro HDxyz instead the xyz function
names.

Tested: Jam only since this is trivial.
2010-04-29 17:40:34 -05:00
Allen Byrne
09a958e1e1 [svn-r18676] Updated scripts for H5copy r18400 and H5ls r18643
Tested:   windows
2010-04-29 17:06:43 -05:00
Quincey Koziol
ff5c4800e8 [svn-r18667] Description:
Bring r18666 from trunk to 1.8 branch:

    Switch H5Rget_obj_type to H5Rget_obj_type2.

Tested on:
    Linux/64 2.4 (amani) w/PGI compiler
2010-04-29 08:11:22 -05:00
Quincey Koziol
ca02b2da58 [svn-r18665] Description:
Bring r18664 from trunk to 1.8 branch:

    Add a few H5Tequal() calls to make certain that the native datatype
constructed with H5Tget_native_type() is identical to the memory datatype
created from the struct in memory.

Tested on:
    Mac OS X/32 10.6.3 (amazon) in debug mode
    Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
    (h5committested on trunk)
2010-04-29 08:04:33 -05:00
Quincey Koziol
d0a1730ad8 [svn-r18661] Description:
Tweak H5detect to be even more careful about its actions, to allow 
gcc 4.5 to use '-O3'.  Also, minor code cleanups in H5Tfloat.c

Tested on:
        FreeBSD/64 6.3 (liberty) w/gcc 4.5 & production mode
        (h5committest not necessary/appropriate)
2010-04-28 15:57:44 -05:00
Albert Cheng
1c2f19b16e [svn-r18658] Bug: 1764
Description:
longjmp do not necessary restore signal that is blocked during the signal
handling. This caused the Alignment test to fail quietly, resulting in wrong
alignment information which will cause failures later.

Solution:
One can use sigsetjmp/siglongjmp to restore signal handling but not all systems
such as Cray XT or VMS supports sigsetjmp.  Backup solution is to use
sigprocmask to reset the signal. Again, some systems may not support it either.
Added code to try the first and then the second solution. Also added tests
to verify if the signal_handler routines are working properly.  Finally, added
code to print results of the verification (in form of comments) to H5Tinit.c
for inspection in case of failure.
(Note that many platforms do not have alignment limits at all and ALIGNMNET
code never raise the SIGBUS or SIGSEGV errors.  In those cases, it does not
matter whether the signal handlers work or not. Again, this can be deduced
from the results comments near the end of the H5Tinit.c. If the sum of signal
handlers called equals the total of verify, it means ALIGNMENT does not raise
any signals.)

Tested: htcommittested (linew is not accessible), jam(serial), Redstorm.
2010-04-28 12:11:11 -05:00
Raymond Lu
5a26307f86 [svn-r18656] I added some more comments. No test is needed. 2010-04-28 11:28:04 -05:00
Allen Byrne
ca4f05380b [svn-r18653] Bug 1741:
Added check in H5Rcreate for space_id = -1 and is region reference type.
    Added test of H5R package API parameters to testhdf5 test, these test only the public API parameter checks.
    
    
Tested: local linux
2010-04-28 10:08:54 -05:00
Quincey Koziol
2ad138dbb9 [svn-r18652] Description:
Bring r18650 from trunk to 1.8 branch:

	Bring back various minor tweaks & cleanups from the revise_chunks
branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
	(h5committested on trunk)
2010-04-27 17:40:05 -05:00
Raymond Lu
53f5793d38 [svn-r18646] In H5T_get_native_type of H5Tnative.c, I changed the way that the offset, alignment, and
size of nested compound type are calculated by using H5T_cmp_offset.  The old way had a bug 
in it (see bug #1850).

Tested on amani, linew, and jam.
2010-04-27 15:55:33 -05:00
Neil Fortner
8b93f9640e [svn-r18645] Add testing of H5Lcopy() and H5Lmove() between files for soft and external
links.

Tested: Fedora (too minor for commit test)
2010-04-27 15:34:44 -05:00
Jonathan Kim
36823c3ca1 [svn-r18643] Purpose:
Fix for Bug 1793 - h5ls on a non-existent file gives 0 return code

Description:
    Merged from hdf5 trunk r18642.
    After the fix, h5ls returns 1 (EXIT_FAILURE) if non-existent file is given.

Tested:
    jam
2010-04-27 15:28:45 -05:00
Binh-Minh Ribler
e331b97162 [svn-r18641] Description:
Added a null character to terminate a fixed-length string returned
    by H5Aread.
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
2010-04-27 15:20:01 -05:00
Quincey Koziol
4966f07945 [svn-r18636] Description:
More tweaks to PGI compile flags, to avoid too many warnings in system
header files.

Tested on:
    Linux/64 2.4 (amani) w/PGI 9.x & 10.x
2010-04-27 14:17:54 -05:00
Quincey Koziol
e4ee157c86 [svn-r18635] Description:
Bring r18634 from trunk to 1.8 branch:

	Clean up compiler warnings.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-04-27 13:33:36 -05:00
Quincey Koziol
53d5ccb17e [svn-r18633] Description:
Bring r18632 from trunk to 1.8 branch:

    Clean up memory leak in test code.

Tested on:
   Linux/64 2.4 (amani) w/debug & valgrind
2010-04-27 13:20:16 -05:00
Quincey Koziol
bb8251f926 [svn-r18631] Description:
Bring r18630 from trunk to 1.8 branch:

    Fix remaining aliasing problems and enable optimizations w/gcc now.  This
addresses the remaining issues for Bug#1398.

Tested on:
    Mac OS X/32 10.6.3 (amazon) in debug mode
    Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
    (h5committested on trunk)
2010-04-26 21:47:02 -05:00
Quincey Koziol
b23da3a7f5 [svn-r18628] Description:
Bring r18627 from trunk to 1.8 branch:

    More progress toward addressing Bz#1398: add 'volatile' keyword to floating-
point types when detecting their properties.  Also, minor code formatting
cleanups.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug)
    (h5committested on trunk)
2010-04-24 20:02:17 -05:00
Quincey Koziol
46809b86cf [svn-r18626] Description:
Bring r18625 from trunk to 1.8 branch:

    Checkpoint progress on Bz#1398 - strict aliasing issues.  (Lots of compiler
warnings & code cleanups also)

Tested on:
    Mac OS X/32 10.6.3 (amazon) in debug mode
    (h5committested on trunk)
2010-04-23 15:20:57 -05:00
Quincey Koziol
55f2a52191 [svn-r18622] Description:
Bring r18621 from trunk to 1.8 branch:

    Clean up compiler warnings.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor to require h5committest)
2010-04-23 13:11:37 -05:00
Quincey Koziol
40c757d48b [svn-r18619] Description:
Bring r18618 from trunk to 1.8 branch:

	Add new internal object header routines to query the header chunk that
a message is in, and to lock/unlock a message into a chunk (so it doesn't get
moved into another chunk during allocation/free events).

       Also, move dataspace message to beginning of object header messages
added to a dataset's object header, so it can be locked into chunk #0 (when
performing SWMR operations).

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-04-22 17:07:35 -05:00
Quincey Koziol
683d60460a [svn-r18617] Description:
Bring r18616 from trunk to 1.8 branch:

    Clean up compiler warnings.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor to require h5committest)
2010-04-22 15:04:44 -05:00
Jonathan Kim
cacfe71beb [svn-r18615] Purpose:
Fix for bug 1817 : h5copy fail to copy dangling link by specifying 
    link path directly

Description:
    Merged from hdf5 trunk r18614.

Tested:
    jam, amani
2010-04-22 13:43:19 -05:00
Quincey Koziol
8881ff748c [svn-r18613] Description:
Bring r18612 from trunk to 1.8 branch:

    Clean up compiler warnings & code formatting

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor to require h5committest)
2010-04-22 10:14:07 -05:00
Quincey Koziol
030c18281c [svn-r18611] Description:
Bring r18610 from trunk to 1.8 branch:

    Clean up compiler warnings & code formatting issues.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug)
    (too minor to require h5committest)
2010-04-22 09:03:43 -05:00
Quincey Koziol
7f08e6b1d9 [svn-r18609] Description:
Bring r18608 from trunk to 1.8 branch:

	Simplify object header allocation routines, and clean up some compiler
warnings.

Tested on:
	FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-04-22 08:20:21 -05:00
Quincey Koziol
fd9ed5d743 [svn-r18606] Description:
Bring r18605 from trunk to 1.8 branch:

    Add new warning flags for gcc 4.5.x

Tested on:
    FreeBSD/32 6.3 (duty) w/gcc 4.5
    FreeBSD/64 6.3 (liberty) w/gcc 4.5
2010-04-22 06:00:14 -05:00
Quincey Koziol
ef3d6fc8dd [svn-r18602] Description:
Bring r18600 from trunk to 1.8 branch:

    Increment reference count on object header when "fake" object header
chunk proxy is returned from H5O_chunk_protect().  Also, clean up the
interface to H5O_chunk_unprotect by removing the unnecessary 'oh' parameter.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (h5committested on trunk)
2010-04-20 15:21:24 -05:00
Quincey Koziol
64af76ef7d [svn-r18598] Description:
Fix missing NULL initialization of pointers.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (h5committested on trunk)
2010-04-20 14:14:05 -05:00
Quincey Koziol
c403f235f9 [svn-r18596] Description:
Bring r18595 from trunk to 1.8 branch:

    Clean up compiler warnings

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor to require h5committest)
2010-04-20 14:05:15 -05:00
HDF Tester
37ef89af1d [svn-r18591] Snapshot version 1.8 release 4 (snap19) 2010-04-18 19:22:22 -05:00
Raymond Lu
e53d1d4e0d [svn-r18583] I added H5Ochunk.c as a new file. Not tested yet. 2010-04-16 14:16:44 -05:00
Mike McGreevy
168c5c4a2c [svn-r18580] Purpose:
Autotool Upgrade / Libtool Bug Fix

Description:

    Updated autotools referenced in bin/reconfigure as follows:

    Autoconf 2.64 --> Autoconf 2.65
    Automake 1.11 --> Automake 1.11.1
    Libtool 2.2.6a --> Libtool 2.2.6b-mcg

    The referenced libtool version is a custom version of 2.2.6b. It 
    has been tweaked to fix a bug in libtool that occurs
    when using PGI 10.0 compilers. A check incorrectly categorizes
    the C++ compiler as version 1.0 instead of 10.0, and the link
    line is subsequently set up incorrectly and fails to compile.

    A patch has been made available and will be included in the next
    release of libtool, but in the meantime I've applied the patch to a custom
    installation as indicated above. This bin/reconfigure now references
    the custom installation, and the resulting configure script will correctly
    categorize the PGI 10.0 C++ compiler.

    Ran bin/reconfigure to regenerate configure and makefiles.

Tested:

    jam and amani with PGI 10.0 compilers.
    h5committest
2010-04-15 16:18:42 -05:00
Allen Byrne
bbd47ad738 [svn-r18575] Added new file to project 2010-04-15 15:48:33 -05:00
Quincey Koziol
80d5ae2fc1 [svn-r18574] Description:
Bring r18571 from trunk to 1.8 branch:

	Bring r18542 from metadata journaling "merging" branch to trunk:

	Bring new object header pin/unpin & protect/unprotect routines and
split-out object header chunk proxy changes from metadata_journaling branch to
"merging" branch, along with some other minor tweaks to clean up compiler
warnings, etc.

	Also: clean up chunk protect/unprotect calls when allocating or freeing
space in a chunk, optimize metadata accumulator code to avoid some re-reading
of information from the file, refactor H5O_pin/H5O_unpin from way they are done
on the merging branch back to way they were previously done on trunk, other
minor code cleanups, etc.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
	(h5committested on trunk)
2010-04-15 15:30:48 -05:00
Neil Fortner
4fa6fd807d [svn-r18568] Purpose: Fix error in call to memmove() in H5B_remove_helper. This error was
only reproducible through the use of electric fence.

Tested: Fedora (too minor for h5committest)
2010-04-15 14:22:26 -05:00
Quincey Koziol
597e1d894e [svn-r18566] Description:
Bring r18564 & r18565 from trunk to 1.8 branch: clean up compiler warnings
and whitespace issues.

Tested on:
    Mac OS X/32 10.6.3 (amazon)
    (too minor to require h5committest)
2010-04-15 13:22:32 -05:00
Raymond Lu
fb651812e6 [svn-r18562] I put a header in the output printout. No test is needed. 2010-04-15 12:20:05 -05:00
Raymond Lu
690656e601 [svn-r18561] I added header for output print out. No test is needed. 2010-04-15 11:32:38 -05:00
Raymond Lu
b3318499f9 [svn-r18558] I took out the dsets test because it's part of testhdf5 now. 2010-04-15 10:55:29 -05:00
Scot Breitenfeld
fee129b9c2 [svn-r18557] Description:
Merged Fortran changes from the trunk into the branch

svn merge -r 18098:18556 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Tested: jam (intel)
2010-04-15 09:49:08 -05:00
Raymond Lu
fcff5fc0f8 [svn-r18554] Update. I added vms/test/H5srcdir_str.h and vms/c++/test/H5srcdir_str.h. No test is needed. 2010-04-14 14:32:55 -05:00
Raymond Lu
a7ffd9a81a [svn-r18553] I updated 2 things: 1. I added H5make_libsettings.c into the makefile in the src/. It works
similar to H5detect.c.  2. I added H5srcdir_str.h under test/ and c++/test/.

Not tested yet.
2010-04-14 12:44:39 -05:00
Quincey Koziol
af9d015f46 [svn-r18550] Description:
Bring r18548 from trunk to 1.8 branch:

    Minor cleanups to compile with PGI C compiler 10.x.

Tested on:
    Mac OS X/32 10.6.3 (amazon)
    (tested on trunk)
2010-04-13 09:31:22 -05:00
HDF Tester
836d531494 [svn-r18546] Snapshot version 1.8 release 4 (snap18) 2010-04-11 23:52:30 -05:00
Mike McGreevy
ba8f894224 [svn-r18544] Description:
Allow 'save returned ID structures' mechanism to be toggled per ID type.
    Also added initialization of new fields omitted in a previous commit.

Tested:
    h5committest, and full check-vfd on linew, amani, and jam.
2010-04-10 17:40:07 -05:00
Neil Fortner
68a140d2cb [svn-r18536] Purpose: Fix bug 1815
Description:
Attempting to copy an object with NULL references (all bytes zero) with the
H5O_COPY_EXPAND_REFERENCE_FLAG flag set would cause a failure or an assertion
(depending on whether it was in debug mode).  Changed copy routine to detect
NULL references (object and region) and avoid attempting to expand the reference
in this case.

Tested: jam, linew, amani (h5committest)
2010-04-08 13:41:42 -05:00
Albert Cheng
ee7791d61c [svn-r18530] Bug fix:
When gcc is used in the AIX platform, it failed to compile tconfig.c
because it does not recognize the __int64 type.  The ibm-aix has the
sizeof __int64=8 cached, as if all compilers supported this type.

Solution:
Removed the cached value for the sizeof __int64 so that during
configure, gcc can report it does not support it and not to use
it in the source code.

Tested:
NCSA Blue which is an AIX machine, using gcc or xlc compiler.
(The gcc still have failure but is being fixed as separated bugs.)
2010-04-07 17:06:02 -05:00
Quincey Koziol
fa279bfcb7 [svn-r18526] Description:
Bring r18525 from trunk to 1.8 branch:

	Bring r18523 from metadata journaling "merging" branch to trunk:

	Bring metadata journaling branch into closer correspondence with trunk:
extract data structure freeing routines from metadata cache client 'destroy'
callbacks.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-04-06 17:01:24 -05:00
Quincey Koziol
eeb841b26b [svn-r18521] Description:
Bring r18520 from trunk to 1.8 branch:

	Bring r18519 from metadata journaling "merging" branch to trunk:

Converge metadata_journaling branch and trunk: separate destroy routines for data structures from cache callbacks.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2010-04-06 15:19:02 -05:00
Albert Cheng
c0d7b109c9 [svn-r18515] Bug:
PGI v10.2 in Red Storm Qual complained about the H5_IS_API macro with the
following message when -Mbounds is used:
   PGC-S-0053-Illegal use of void type 
The compiler did not like to treat the literal strings as arrays.
The -Mbounds option is used when --disable-production is used.

Solution:
Casted all the literal to (char *).

Tested:
h5committest passed.
Red Storm Qual passed with the fixed H5_IS_API macro though it has other
failures later. Will be fixed in another batch.
2010-04-05 16:41:54 -05:00
Allen Byrne
41dd296835 [svn-r18509] Updated project files to generate and link H5lib_settings.c 2010-04-05 10:48:56 -05:00
Mike McGreevy
1c7b305353 [svn-r18507] Purpose:
Fix Bug 1730 (in 1.8)

Description:

    This is a fix for Bug 1730. Note that this fix is only going into 1.8,
    as there is a more desired fix prepared for the trunk, but we don't 
    want that one in 1.8 for compatibility reasons.

    This change adds a mechanism to the H5I interface to save returned
    ID structures for immediate re-use if needed. This addresses a potential
    performance issue by delaying the case when the next ID to be 
    registered has grown so large that it wraps around and needs to be 
    checked to see if it is available for distribution again.

Tested:

    h5committest, and manually on jam, amani, liberty, others.
2010-04-02 10:59:36 -05:00
Quincey Koziol
b24165b4d6 [svn-r18506] Description:
Bring r18505 from trunk to 1.8 branch:

        Move code to free superblock data structure into separate routine, in
preparation for upcoming metadata journaling -> trunk merging.

Tested on:
	FreeBD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-04-02 00:35:17 -05:00
Quincey Koziol
2b551d282f [svn-r18503] Description:
Bring r18502 from trunk to 1.8 branch:

	Bring r18501 from metadata journaling "merging" branch to trunk:

	Extract data structure 'destroy' routines from metadata cache client
'destroy' callbacks.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-04-01 23:39:43 -05:00
Quincey Koziol
61817758dd [svn-r18499] Description:
Bring r18498 from trunk to 1.8 branch:

	Bring r18497 from metadata journaling "merging" branch to trunk:

	Extract data structure 'destroy' routines from metadata cache client
'destroy' callbacks.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-04-01 22:16:14 -05:00
Quincey Koziol
bacf7149e9 [svn-r18495] Description:
Bring r18494 from trunk to 1.8 branch:

	Bring r18491 from metadata journaling "merging" branch to trunk:

	Extract data structure 'destroy' routines from metadata cache client
'destroy' callbacks.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-04-01 20:48:23 -05:00
Albert Cheng
2b8896eea1 [svn-r18493] Bug fix:
Testlibinfo.sh failed again.

Solution:
Removed the const from H5libhdf5_settings definition, again.
Revamp the whole setting so that H5lib_settings.c is compiled
individually, just like H5Tinit.c.  Hope this will take care
of the problem once for all.

Tested:
Amani using --disable-shared with --enable and --disable-embedded-libinfo.
Will test this on the AIX platform after commit (cannot run bin/reconfigure
in the AIX platform and it is too clumsy to try to ssh files back and forth
and incurred "svn merge inconsistency" later too.
Pretty confident this fix should work in all other platforms.
2010-04-01 16:00:24 -05:00
Quincey Koziol
e8fd06c497 [svn-r18485] Description:
Bring r18484 from trunk to 1.8 branch:

	Bring r18483 from metadata journaling 'merging' branch to trunk:

	Remove unused symbol table entry dirty flag

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2010-04-01 11:51:26 -05:00
Albert Cheng
e1282224cd [svn-r18470] bug fix:
recent changes to the embedded library generation code does not quite work
for the AIX system. The strings command of AIX does not display the embedded
library information be default.

Solution:
Changed the H5libhhdf5_setting[] to be an extern variable. Also removed the
const qualifier so that strings can see the variable data.

Tested:
Blue-print (with embedded-libinfo enabled and disabled).
2010-03-30 13:55:41 -05:00
HDF Tester
abdfc0f817 [svn-r18467] Snapshot version 1.8 release 4 (snap17) 2010-03-28 19:21:10 -05:00
Quincey Koziol
5145220062 [svn-r18461] Description:
Bring r18460 from trunk to 1.8 branch:

	Fold metadata journaling changes into the trunk: mostly tweaky
small stuff, also removed the H5F_t* field from the H5G_entry_t struct.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2010-03-26 06:17:03 -05:00
Jonathan Kim
25fb348729 [svn-r18455] Purpose:
Fix for the bug1726 - NPOESS: h5repack loses attributes for datasets of 
    type H5T_REFERENCE.

Description:
    Merged from hdf5 trunk rXXX

Tested:
    jam
2010-03-25 12:46:21 -05:00
Jonathan Kim
24ac7627d8 [svn-r18450] Purpose:
Resolve build issue on Sloaris due to white space from the previous
   checkin r18448

Tested:
    jam
2010-03-24 19:32:15 -05:00
Jonathan Kim
e7568c0719 [svn-r18448] Purpose:
Bug1727 - NPOESS: h5copy should copy region references

Description:
   Merged from hdf5 trunk r18447.
   Tested and added test cases from previous checkin r18321
   Reference Manual and tool's usage section for '-f ref' option is updated
   for more comprehensibility.

Tested:
    jam
2010-03-24 16:04:39 -05:00
Neil Fortner
a4dad54996 [svn-r18446] Purpose: Fix bug 1637
Description:
Modified algorithm for extending a dataset with early allocation so it only
deals with the new chunks.  Formerly, it would loop over all chunks, checking
to see if each existed in cache and on disk, causing major performance issues
with large numbers of chunks.

Tested: jam, linew, amani (h5committest)
2010-03-24 11:42:54 -05:00
Jonathan Kim
a844f8b21a [svn-r18443] Purpose:
Resolve windows build issue from previous checkin r18427

Description:
    The previous checkin was for bug1814 - NPOESS: h5repack doesn't handle 
    references to the groups as an element of a dataset            

Tested:
    jam
2010-03-23 14:24:21 -05:00
Allen Byrne
5e909dbaaa [svn-r18440] Corrected windows script file 2010-03-23 08:31:29 -05:00
Allen Byrne
bf9abc4fbc [svn-r18439] Changed copy script to copy all *.h files 2010-03-22 09:07:47 -05:00
HDF Tester
c83859d028 [svn-r18434] Snapshot version 1.8 release 4 (snap16) 2010-03-21 19:51:16 -05:00
Allen Byrne
fb5eabf776 [svn-r18429] Added missing copy H5srcdir_str.h commands to script. 2010-03-19 09:45:20 -05:00
Raymond Lu
23b8483bdc [svn-r18428] Binh-Minh integrated dsets.cpp into testhdf5.cpp. I changed the make file accordingly.
Not tested yet.
2010-03-19 09:37:07 -05:00
Jonathan Kim
8438c335ed [svn-r18427] Purpose:
Fix for bug1814 - NPOESS: h5repack doesn't handle references to the groups 
    as an element of a dataset 

Description:
    Merged from hdf5 trunk r18425
    handles object reference to named-datatype as well.
    Add test cases.

Tested:
    jam
2010-03-18 17:31:00 -05:00
Allen Byrne
a8bd5d03e9 [svn-r18424] Upgraded all project files to VS2008.
Changed batch files by removing VS2005 and IVF91 options.
Added libsettings project to behave like h5tinit.vcproj.
Updated Manifest
2010-03-18 16:31:30 -05:00
Allen Byrne
7370d9d648 [svn-r18423] Add windows define BIND_TO_CURRENT_VCLIBS_VERSION=1 to project files 2010-03-18 15:18:08 -05:00
Quincey Koziol
a608820193 [svn-r18422] Description:
Bring r18413:18420 from trunk to 1.8 branch:
	- unify srcdir query, etc.
	- Move libhdf5.settings string out of H5Tinit.c

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.2 (amazon) in debug mode
        Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2010-03-18 13:05:13 -05:00
Allen Byrne
0e58a80e89 [svn-r18421] dsets c++ tests moved into testhdf5 c++ test. 2010-03-18 10:07:43 -05:00
Albert Cheng
7afbad33c7 [svn-r18412] Fixed a typo in a message.
No test needed since it is in a message string.
2010-03-17 09:31:49 -05:00
Binh-Minh Ribler
b781570943 [svn-r18409] Description:
Removed header file testhdf5.h from C++ tests to eliminate a non-standard
    problem on OpenVMS.  It wasn't essential.

    Also, moved dsets.cpp from a standalone program into testhdf5.cpp
    to be consistent with the rest of the tests.

Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
    Will ask Ray to test on OpenVMS.
2010-03-16 22:40:01 -05:00
HDF Tester
dcf0727a9e [svn-r18408] Snapshot version 1.8 release 4 (snap15) 2010-03-14 23:27:59 -05:00
Frank Baker
c2575fa440 [svn-r18402] Description:
Update copyright date to 2010.
2010-03-12 14:30:54 -05:00
Jonathan Kim
5345e2394e [svn-r18400] Purpose:
add test cases for h5copy - copy external links with/without ‘–f ext’ 
    option (relate to bug 1733)

Description:
    merged from hdf5 trunk (r18398 and r18399)

Tested:
    jam
2010-03-09 16:46:00 -05:00
Neil Fortner
8833db1c5b [svn-r18396] Purpose: Fix links.c failure
Description:
The core file driver previously matched files only based on the name used to
open them, even when a backing store is used.  This caused problems in the
failing test when it traversed an external link to itself, and did not recognize
that it was the same file.  Similar tests in links.c were skipped when the core
file driver was used.  The failure was previously masked by inappropriate file
flushes caused by external link traversal.  Added code to the core file driver
to keep track of low level file information of the backings store to allow for
accurate recognition of duplicate files.  Also re-enabled all links.c tests for
the core file driver.

Tested: Fedora (core and sec2 drivers; no time for full commit test, will
monitor daily tests)
2010-03-09 13:22:41 -05:00
Quincey Koziol
5deaaea3bb [svn-r18392] Description:
Bring r18391 from trunk to 1.8 branch:

        Clean up compiler warnings, check error values and fix whitespace.

Tested on:
        FreeBSD/64 6.3 (duty) w/debug
        (too minor to require h5committest)
2010-03-06 21:57:18 -05:00
Quincey Koziol
9211b9e5b6 [svn-r18389] Description:
Bring r18388 from trunk back to 1.8 branch:

    Bring changes from Coverity session from branch into trunk:

r18378:
Fixed coverity issues 207 and 322.  Pointer hdr was checked for NULL after being
asserted and dereferenced.  Check was removed.

r18379:
Fix coverity issues # 88 and # 435.

r18380:
Fixed Coverity issue # 85.  Added check of returned pointer for NULL before use.

r18381:
Resolve coverity issues # 214 and # 215

r18382:
Issue 131: Add null checks to allocations and check for free in error handling

r18383:
Issue 421:
Reorganized code to make intention clearer. Also, set local variable fl to NULL
after transfer to tail. Heap->freelist will take care of all allocations

r18384:
Coverity #249 and #250 - STRING_ATT_CHECK wasn't allocated before being used
and freed in function test_write_vl_string_attribute and
test_read_vl_string_attribute.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & prod
    (h5committested in daily tests)
2010-03-06 16:24:31 -05:00
Quincey Koziol
8b3a2b480b [svn-r18386] Description:
Bring r18385 from trunk to 1.8 branch:

    Tweak fix in r18372 to reset other messages read in also.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (too minor to require h5committest)
2010-03-06 13:53:00 -05:00
Neil Fortner
af527abf6c [svn-r18377] Purpose: Fix bug 1733
Description:
Support for expanding external links was not implemented in H5Ocopy, even though
a flag existed for H5Pset_copy_object to enable this.  This patch implements
this feature.

Tested: jam, amani, linew (h5committest); Fedora
2010-03-05 12:53:23 -05:00
Neil Fortner
3b921a4b4f [svn-r18375] Purpose: Fix bugs involving external links
Description:
Previously, the library would reopen the source file when traversing an external
link if unable to find the target file otherwise.  This has been corrected.
Also moved the call to H5F_flush from H5F_try_close to H5F_dest, so the file is
only flushed when the last identifier for the file is closed.  This prevernts
situations where the library could attempt to flush a file with protected
metadata.

Tested: jam, amani, linew (h5committest); Fedora
2010-03-05 12:46:56 -05:00
Raymond Lu
81896b337e [svn-r18370] Fix for bug #1773 - I added the call to H5O_msg_reset after H5D_chunk_bh_info to free the
PLINE structure in the function H5O_dset_bh_info.  This is to prevent memory leak.
 
Tested on jam with valgrind - simple fix.
2010-03-05 10:47:09 -05:00
Raymond Lu
dcfd77ab37 [svn-r18368] The OpenVMS link probably doesn't like too many object files. I just broke the link command
into 3 commands to make it happy.

Tested on OpenVMS.
2010-03-04 11:31:30 -05:00
Quincey Koziol
68c936cd23 [svn-r18358] Description:
Bring r18357 from trunk to 1.8 branch:

	Bring r18356 from metadata journaling merge branch to trunk:

	Converge metadata journaling branch with trunk with a bunch of v1 B-tree
changes:
      - Remove H5ACprivate.h header from H5Bprivate.h header
      - Revise v1 B-tree client callbacks
      - Get rid of H5B_serialize() by bringing it into H5B_flush()

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2010-03-02 15:13:22 -05:00
Quincey Koziol
48142bf5fd [svn-r18353] Description:
Bring r18352 from trunk to 1.8 branch:

	Make parallel I/O metadata cache operations obey the "evictions
enabled" flag in the cache.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2010-03-01 15:38:03 -05:00
HDF Tester
e601ae8d4c [svn-r18351] Snapshot version 1.8 release 4 (snap14) 2010-02-28 17:56:20 -05:00
Quincey Koziol
c3e5a19194 [svn-r18348] Description:
Bring r18346 from trunk to 1.8 branch:

   Bring Coverity fixes back from branch to trunk:

r18336:
Fix coverity issues 275, 276, 277, 323, 432, 433, and 434

r18337:
Fix Coverity issue #106: release free space section node on error

r18338:
Fixed Coverity #94 - In H5P_register, new_class wasn't closed when there's an
error after it's created.

r18339:
Fix Coverity #185 - In test_conv_str_1, BUF wasn't freed when there's an error
in this function.

r18340:
Correct error in r18337 that wasn't releasing indirect fractal heap block
early enough.

r18341:
Close nodes if any failed in the middle of allocating new nodes. Coverity 140
and 141

r18342:
Correct [another] problem w/r18337.

r18343:
Fix coverity items 185, 20, and 21.

r18344:
Fix Coverity 213 - In H5FD_family_close, the double pointer file->memb was
dereferenced without NULL checking 
(We believe).

r18345:
Fix Coverity issue # 210;  removed NULL check after pointer dereferenced in
H5HFdblock.c.   Also assigned NULL to pointer in H5Pint.c to fix segmentation
fault.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug)
	(h5committested on trunk)
2010-02-27 15:51:49 -05:00
Jonathan Kim
c56a7d4ee2 [svn-r18332] Description:
Update to use H5Gcreate2 instead of H5Gcreate.
    Remove mis-used type related code.

Tested:
    jam, amani and linew
2010-02-24 16:11:05 -05:00
Jonathan Kim
7585e7520a [svn-r18330] Description:
Fix to handle $srcdir for nightly test as well as local testing
    Merged from hdf5 18329.

Tested:
    jam, amani and linew
2010-02-24 14:39:25 -05:00
Raymond Lu
1c393d5f1c [svn-r18327] I commented out the macro H5_HAVE_SYMLINK because I ran the following C test under hdf5/test
directory.  OpenVMS couldn't open a file through symbolic link.  This macro is mainly used
in test/links.c for the function call external_symlink and in src/H5F.c.

Tested on OpenVMS.

------------------------------------------------------------------------
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>

int main(void)
{
    int file1, file2;

    /* Create a symbolic link to the file 21b.c */
    if(symlink("[LU.hdf5_1_8_2_5.test.tmp2]21b.c", "[LU.hdf5_1_8_2_5.test.tmp]sym1") < 0)
        printf("symlink failed\n");

    /* Create the file 21b.c */
    if((file1 = open("[LU.hdf5_1_8_2_5.test.tmp2]21b.c", O_CREAT | O_TRUNC | O_RDWR)) < 0)
        printf("1st open failed\n");

    if(close(file1) < 0)
        printf("close failed\n");

    /* Open the 21b.c through the symbolic link */
    if((file2 = open("[LU.hdf5_1_8_2_5.test.tmp]sym1", O_RDWR)) < 0) {
        int errsv = errno;
        printf("2nd open failed, errno=%d\n", errsv);
    }

    if(close(file2) < 0)
        printf("close failed\n");

    return 0;
}
2010-02-24 09:45:42 -05:00
Allen Byrne
510ee78c0f [svn-r18324] Updated test script to match *nix shell script.
Tested: windows
2010-02-23 16:18:17 -05:00
Allen Byrne
a3d0c3b1de [svn-r18323] Updated test script to match *nix shell script.
Tested: windows
2010-02-23 16:06:48 -05:00
Jonathan Kim
d18ac8f562 [svn-r18321] Purpose:
Bug1727 - h5copy: add test cases for object and region references

Note: 
    merged from hdf5 trunk 18319 and 18320

File added:
    tools/h5copy/testfiles/h5copy_ref.out.ls
    tools/h5copy/testfiles/h5copy_ref.h5

Tested:
    jam
2010-02-23 15:07:17 -05:00
Allen Byrne
2aaa6b7dd9 [svn-r18318] Updated test script to match *nix shell script. Also corrected 629 file exit code
Tested: windows
2010-02-23 14:02:54 -05:00
Jonathan Kim
bd73a66ef7 [svn-r18313] Description:
move data1,data2 array declaration on top of each functions for 
    Windows build

Tested on Jam
2010-02-23 10:39:06 -05:00
Quincey Koziol
ae71cdc7af [svn-r18309] Description:
Added information to the release notes for fixing Bz#1755.
2010-02-23 09:31:17 -05:00
HDF Tester
7147e87089 [svn-r18307] Snapshot version 1.8 release 4 (snap13) 2010-02-22 15:56:03 -05:00
Quincey Koziol
e51e5cea3f [svn-r18303] Description:
Bring r18302 from trunk to 1.8 branch:

    Tweak allocation of attribute tables created from densely stored attributes
to allow for better cleanup on errors (like when the type of corruption from
Bz#1755 is encountered).

    Also, add some code to h5dump to display an error message when the
attribute iteration for an object fails.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (h5committested on trunk)
2010-02-19 23:36:27 -05:00
Quincey Koziol
8a9eb9fdcd [svn-r18301] Description:
Bring r18300 from trunk to 1.8 branch:

Bring Coverity fixes from branch to trunk:

r18282:
  Fix Coverity issue #428 by wrapping testing calls with if(pass) {} block.

r18283:
  Fix Coverity issue #425 by wrapping test calls in if(pass) {} block

r18284:
Issue 166:  init_error() malloc'd 3 pointers in initialization and never freed 
inc ase of errors. Init pointers to NULL, check allocation results and free
allocations in error block

r18285:
  Fix Coverity issue #410 by wrapping test calls with if(pass) {} block.

r18286:
Issue 165:  custom_print_cb() needed allocations freed in error block.

r18287:
Fix coverity issue # 409

Added if (pass) checks around calls to flush_cache. Additionally, 
added a check for file_ptr = NULL after call to setup_cache.

r18288:
Fix coverity# 107 free fh in H5HF_close() correctly before exit the function
even when failure occurs.

r18289:
  Fix Coverity issue #429: correct failure return values to match return type
from routine.

r18290:
  Fix Coverity issue #103: release allocated indirect section  on error

r18294:
Issue 153, 152:  Check allocations and free allocations in error block. Also
cleaned up hid_t identifer that were opened in error block.

r18295:
Fix coverity# 101 free new_loc in H5HF_man_iter_start_entry() correctly before
exit the function even when failure occurs

r18296:
Fix coverity# 100 free down_loc in H5HF_man_iter_down() before exit the function
when failure occurs

r18297:
Fixed coverity issues 54, 55 and 216.  Correctly handle the various ways that
allocation of attr_name can fail in test_attr_basic_write.

r18298:
Fix coverity# 119 free object in H5HG_read() before exit the function when
failure occurs

r18299:
Fix coverity issue #112:

Add cleanup during error handling of H5MP_create.


Tested on:
   Mac OS X/32 10.6.2 (amazon) w/debug & production
   Misc. Linux configurations (on original checkins)
2010-02-19 21:30:56 -05:00
Albert Cheng
d0a61166cc [svn-r18292] Added yodconfigure feature.
Tested in RSQual of Sandia.
2010-02-19 14:42:30 -05:00
Jonathan Kim
52d87caef3 [svn-r18279] Purpose:
Work for bugzilla 1754: h5diff: support comparing through links.

Description:
    merged from hdf5 trunk (18164, 18165, 18166, 18167, 18170, 18266, 18273)

Tested:
    h5committest (jam, amani and linew)
2010-02-18 21:39:22 -05:00
Quincey Koziol
6b9ddd6598 [svn-r18276] Description:
Bring r18275 from trunk to 1.8 branch:

    Remove incorrect encoding of fractal heap IDs for dense attribute storage
and dense shared object header message storage.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (h5committested on trunk)
2010-02-18 12:26:38 -05:00
Quincey Koziol
95223419fb [svn-r18272] Description:
Bring r18271 from trunk to 1.8 branch:

    Clean up the file closing behavior a little more.

Tested on:
   Mac OS X/32 10.6.2 (amazon) w/debug & production
  (too minor to require h5committest)
2010-02-18 10:02:17 -05:00
Vailin Choi
0fb3254237 [svn-r18270] Changes to h5stat in response to bug 1778:
1. Gather attribute info for named datatype,
2. Fixed -T, -G, -A, -D options
3. Brought over some changes from trunk h5stat

h5committested.
2010-02-17 15:50:50 -05:00
Raymond Lu
ec709b76da [svn-r18268] Bug fix for #1732 - The library had segmentation fault when tools call H5Close() after trying
to open corrupted files.  The problem turned out to be some memory leak when the library 
failed to open the file.  The solution is simply moving some code around to their proper 
places - moving H5AC_unpin_entry(f->shared->sblock) in H5F_dest of H5F.c and moving 
H5G_name_free(root_loc.path) in H5G_mkroot of H5Groot.c.

Tested on jam with development and production modes - simple change.
2010-02-17 10:57:52 -05:00
Neil Fortner
feae1cb35f [svn-r18263] Purpose: Fix bug in b-tree code
Description:
In certain cases, removal of an object in a v1  b-tree would cause the leftmost
key in the right neighbor to be overwritten.  While this did not pose a problem
for group b-trees, with chunked datasets it would overwrite the offset value
of the neighbor's leftmost child, causing corruption.  Reworked the code to
differentiate between b-trees whose children are fundamentally associated with
their left key and those who are associated with their right key.

Tested: jam, linew, amani (h5committest)
2010-02-16 12:23:38 -05:00
Quincey Koziol
bbd0b55158 [svn-r18257] Description:
Bring r18256 from trunk to 1.8 branch:

    Bring changes from Coverity fixing branch to trunk:

r18235:
Fixed coverity 114:
    if (NULL ==_dest)
       H5MM_free(dest);

r18236:
    Close Coverity issue #28 (again :-) by working through the logic of the
routine more thoroughly to eliminate the goto statements. (LK & QK)

r18237:
fixed coverity 133:
    if (NULL==_dest && NULL==ret_value && NULL != dest)
        H5MM_free(dest);

r18238:
Fix coverity items 421 and 422.  Added assertion that the heap's free list is
NULL when entering H5HL_fl_deserialize, guarateeing that the free list will
always be linked in even on failure.

r18239:
Fix coverity item 268.  Changed H5MM_xfree(read_buf) to read_buf = 
H5MM_xfree(read_buf) so that read_buf isn't manipulated after it's been freed.

r18241:
coverity fix: use correct free functon H5FL_FREE()from the previous fix

r18242:
Coverity fix 139: Free dst correctly in H5O_sdspace_copy().

r18243:
    Fix Coverity issue #417 by checking for NULL return value from
setup_cache() (LK & QK)

r18244:
Coverity Fix 132: free dest correctly in H5O_efl_copy()

r18245:
Issue 121:  H5S_hyper_make_spans() cannot deal with counts of 0. However,
H5Sselect_hyperslab() API does allow a count of 0.
Therefore, simply throw an error if this function encounters a count of 0.

r18246:
Check file_ptr to address coverity issue # 418

r18247:
Fixed coverity 113: 
    if (sequence)
         H5MM_xfree(sequence);

r18248:
    Coverity issue #414 by checking for NULL return from setup_cache() (LK & QK)

r18249:
fixed coverity 274: moved H5FL_FREE(H5A_t, attr); to a line above so that if
attr is null, it will not free it.

r18250:
Fix coverity issue #86.

Check return of malloc function to ensure non-null before continuing.


Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production)
    (h5committested in daily tests on branch)
2010-02-14 22:35:35 -05:00
HDF Tester
50dfe3439b [svn-r18255] Snapshot version 1.8 release 4 (snap12) 2010-02-14 17:55:45 -05:00
Quincey Koziol
92ba8d6a33 [svn-r18254] Description:
Larry asked me to revert an accidental change he made on Friday.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (too minor to require h5committest)
2010-02-14 14:43:56 -05:00
Quincey Koziol
3a66bae1d8 [svn-r18253] Description:
Bring r18252 from trunk to 1.8 branch:

    Rename test macros that are [nearly] identical to source code macros to
have "TEST" in their names, to avoid conflicts during compilation.  (And add
comment to originals in source code, to keep them in sync).

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    up041 machines (at Sandia)
2010-02-14 14:40:58 -05:00
HDF Tester
4eefbc505a [svn-r18234] Snapshot version 1.8 release 4 (snap11) 2010-02-12 12:20:49 -05:00
Quincey Koziol
5768fb97f9 [svn-r18231] Description:
Bring r18230 from trunk to 1.8 branch:

	Bring r18229 from metadata journaling "merging" branch into trunk:

	Bring r18227 from metadata_journaling branch to the merging branch:

	Small cleanups and move v1 cache maintenance macros into package header
file, to better align with changes to v2 cache.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2010-02-11 14:50:05 -05:00
Quincey Koziol
c5c85080a7 [svn-r18225] Description:
Bring r18244 from trunk to 1.8 branch:

    Bring revisions from Coverity session from hdf5_1_8_coverity branch to
trunk:

r18214:
Issue 423:  cache_ptr was not initialized. if global 'pass' was false,
cache_ptr could be used. Extended scope of if(pass) block to include whole
function-flush_cache().

r18215:
Fix coverity item 317.  Removed unreachable code in H5B2_hdr_alloc.

r18216:
Fixed Coverity issues 57 & 67.  Checked oid_count > 0 before memory allocation
and oid_list != NULL before dereferencing.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (daily tested on Coverity branch already)
2010-02-09 17:39:43 -05:00
Quincey Koziol
cc1c7331a5 [svn-r18223] Description:
Bring r18205 & r18222 from trunk to 1.8 branch:

    Add new H5Oexists_by_name() routine.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (daily tested on trunk already)
2010-02-09 16:59:13 -05:00
HDF Tester
658c1b9e75 [svn-r18219] Snapshot version 1.8 release 4 (snap10) 2010-02-07 19:21:03 -05:00
Quincey Koziol
5eb19fc529 [svn-r18213] Description:
Bring r18212 from trunk to 1.8 branch:

    Bring revisions from Coverity fixing branch to trunk:

r18184:
Fixed Coverity issue 373.  Allocated memory freed in line 762 in case of error.

r18185:
Fixed Coverity issues 357 & 358.  Added check for NULL pointer before use.

r18186:
Fix coverity item 65.   Added code to h5unjam to correctly handle failures in
read() and write, and also to correctly handle writes that write less than
requested.

r18187:
Fix coverity items 115 and 116.   Added code to H5Tenum.c to correctly close
opened datatypes in case of failure.

r18188:
Fixed Coverity issue 46.  Check that dataset->shared is not null when freeing
memory after error.

r18190:
Fix coverity item 95.   Added code to H5T_create_vlen to correctly close
allocated datatype in case of failure.

r18191:
Fixed Coverity error 59.  Checked sfirst for -1 value before use in line 10533.

r18192:
Fix Coverity items 121 and 28

Added Asserts:
121: assert that all dimensions of count have values greater than zero.
28: assert curr_span pointer is not null before dereference.

Note: still need too add checks in hyperslab APIs that fail
    when count values are zero, and appropriate tests.

r18194:
Fixed Coverity issues 61 & 62. Checked variable snpoints for value < 0 in line
218.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (already daily tested on coverity branch)
2010-02-04 22:07:41 -05:00
Raymond Lu
1a9136720e [svn-r18211] Added H5B2hdr.c to the list.
Not tested yet.
2010-02-03 13:54:26 -05:00
Quincey Koziol
08fb72859d [svn-r18207] Description:
Removed assert() statement when HDrealloc() returned NULL in H5MM_realloc().

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug
    (too minor to require h5committest)
2010-02-03 10:33:44 -05:00
Raymond Lu
26c1c19e28 [svn-r18204] Updates. Not tested yet. 2010-02-02 14:27:59 -05:00
HDF Tester
187e9377fa [svn-r18203] Snapshot version 1.8 release 4 (snap9) 2010-02-02 11:01:14 -05:00
Raymond Lu
d115783685 [svn-r18202] I added a known problem item. Please see bug report #1279.
No test is needed.
2010-02-02 10:48:38 -05:00
HDF Tester
fc96b2cec3 [svn-r18201] Snapshot version 1.8 release 4 (snap8) 2010-01-31 19:15:34 -05:00
Quincey Koziol
fa1f33701d [svn-r18198] Description:
Trim trailing whitespace from source code files, with following command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:33:04 -05:00
Raymond Lu
e3c8027744 [svn-r18189] I added a test for copying an existing DCPL and using the copy to create a new dataset. There's
a bug report (#1608) saying h5repack failed to do that sometimes.  But I couldn't reproduce it.
So I added this test and closed the report.  The test is in the function test_copy_dcpl in dsets.c.

Tested on jam, amani, and linew.
2010-01-29 15:03:53 -05:00
Albert Cheng
be5b92837f [svn-r18173] Bug ID 1753: added macro version of GetTestVerbosity.
The previous implementation did not work for WIndows.
Moved the macro definition of HDGetTestVerbosity from testhdf5.h
to h5test.h.

Removed as much as possible macro definitions that use HDGetTestVerbosity
directly.

Tested: Jam (serial and parallel).  Did not run h5committest since this
is a trival change that is portable.
2010-01-27 16:38:45 -05:00
Quincey Koziol
581d57ba7b [svn-r18172] Description:
Bring r18171 from trunk to 1.8 branch (with appropriate tweaks):
	Bring r18169 from 'merge_metadata_journaling' branch back to trunk:

	Converge changes on metadata_journaling branch and trunk:
		- Remove H5F_t* parameter from H5HL_unprotect()
		- Remove H5F_t* parameter from H5HL_dirty()
		- Remove H5F_t* parameter from H5O_unprotect()
		- Bring changes to metadata caching routines back:
		     - H5AC_pin_protected_entry()
		     - H5AC_resize_pinned_entry()
		     - H5AC_unpin_entry()
		     - H5AC_mark_pinned_entry_dirty()
		     - H5AC_mark_pinned_or_protected_entry_dirty()
		 - Revise internal H5C routines to drop H5F_t* and/or H5C_t* as
			parameter where possible
		 - Revise tests to follow internal routine changes

	Also, other minor changes to speedup the 'cache' test.

Tested on:
      FreeBSD/32 6.3 (duty) in debug mode
      FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
      Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
              w/C++ & FORTRAN, w/threadsafe, in debug mode
      Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
              w/C++ & FORTRAN, in production mode
      Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
              w/szip filter, in production mode
      Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
              in production mode
      Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
      Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
      Mac OS X/32 10.6.2 (amazon) in debug mode
      Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
2010-01-27 11:33:16 -05:00
HDF Tester
f5c061aa21 [svn-r18161] Snapshot version 1.8 release 4 (snap7) 2010-01-24 19:05:23 -05:00
Quincey Koziol
346d487d16 [svn-r18160] Description:
Bring r18159 from trunk to 1.8 branch:

    Bring Coverity fixes from 1/22/10 session to trunk:

r18137:
219: Initialized hid_t to -1 and added close to error block.
189-191: Initialized line to NULL and added free line, and close fp to error block.

r18138:
19: Moved code block for printing that the number of enums is empty to the error block. (Would never have been executed otherwise)

r18139:
Fix coverity item 58.  Moved code related to displaying the parent of a repeated
group to the else(isRoot) section, as the root group has no parent.

r18140:
218: Initialized ret_value variable to -1. Because of throw Exception in default case of switch, the coverity problem would not have executed anyway. Good pratice is to initialize variables.

r18141:
Fix coverity item 92.  Added code to H5E_register_class to free cls in case of
an error.

r18142:
Fix coverity item 91.  Added code to H5E_create_msg to free msg in case of an
error.

r18143:
fixed issue 14,
took away "if" and used #ifndef_xxx.

r18144:
Fix coverity item 110.   Added code to H5Eget_minor to free msg_str in case of
an error.

r18145:
fixed coverity #18 removed "aligned", it is always NULL.

r18146:
Fix coverity item 109.   Added code to H5Eget_major to free msg_str in case of
an error.

r18147:
Fixed coverity #81 and #82, Check for bad pointer(s), but can't issue error, just leave

r18148:
Fix coverity item 97.   Added code to H5FD_fapl_open to free copied_driver_info
in case of an error.

r18149:
Fix coverity item 96.   Added code to H5FD_dxpl_open to free copied_driver_info
in case of an error.

r18150:
Fix Coverity issue #29: Protected cache_ptr dereferences with "if(pass)"
block

r18151:
Fix coverity item 93.   Added code to H5FL_fac_init to free factory and new_node
in case of an error.

r18152:
Fix coverity items 98 and 99.   Added code free allocated space in case of
error.

r18155:
124: Freed head pointer before jumping to done. There was no error handling block and normal exit used same path out.
120-123: Freed list of lists in error handling block.

r18156:
Fix coverity issues 179, 180, 181, 182, 183, 184, 186, 320, 407.  These were resource leak issues where allocated memory was not freed, generally in the case of tests that failed.

Tested on:
   Mac OS X/32 10.6.2 (amazon) debug & production
2010-01-23 02:11:57 -05:00
Quincey Koziol
ab37aae39f [svn-r18158] Description:
Bring r18157 from trunk to 1.8 branch:

    Bring back changes from Coverity session on 1/15/10:

r18111:
Fix Coverity issue #130: make certain that the cache gets freed on error.

r18112:
Fix Coverity issue #43 by making cache testing calls protected by 'pass'
variable.

r18113:
Fix Coverity issue #129 by releasing the cache on error.

r18115:
Coverity #45 fix: patched an error check in H5Screate_simple to prevent future dereferencing of a NULL point.
Added a verification in test/th5s.c.

r18116:
Fix Coverity issue #43 by releasing cache on error.

r18117:
Coverity #362,363 by adding HGOTO_DONE, freeing allocations and associated changes. REsolving coverity results #364-368, 369, 370-372, 377, 379, and 380.

r18118:
Fix Coverity issue #42: assert that cache & test specification pointer are
valid.

r18122:
Coverity #362,363 by adding HGOTO_DONE and freeing allocations. This also takes care of #357,358.

r18123:
Coverity #359-361, 373-376: Added HGOTO_DONE(FAIL) statement after checking allocation for NULL. Verified allocation is freed in done block.

r18128:
Fixed coverity issue #10 -- removed dead code.

Tested on:
    Mac OS X/32 10.6.2 (amazon)
2010-01-22 23:53:22 -05:00
Albert Cheng
e8538794ef [svn-r18153] ID 1753: added macro version of GetTestVerbosity.
GetTestVerbosity() is called many times during tests. Implemented a more
efficient macro version HDGetTestVerbosity.

Tested: Jam (serial and parallel).  Did not run h5committest since this
is a trival change that is portable, I am 99% sure.
2010-01-22 16:17:21 -05:00
Jonathan Kim
1eac1391e2 [svn-r18135] Purpose:
Additional fix relted to the fix of bug1672.

Description:
    The fix of bug1672 caused some changes of output which required modifying
    some test cases.  After some discussion, restoring the changes of the test 
    cases was decided.  After many experiments for the solution, this fix was 
    made so the code which improved performance can stay.

Tested on Jam.
2010-01-21 15:39:03 -05:00
Jonathan Kim
969c86f29d [svn-r18132] Add test files for h5diff relate to r18130 commit. 2010-01-21 14:49:43 -05:00
Jonathan Kim
fb90eecb4e [svn-r18130] Purpose:
Add test case relate to bug1749. Also corrected command echo line which
    is not match with actual test.

Tested on Jam.
2010-01-21 13:55:01 -05:00
Jonathan Kim
3026e03ffe [svn-r18127] Purpose:
Fix for bug1749: Incorrect code in diff() function for links compare
    Also removed duplicated redundant code, which improves performance.

Description:
    When comparing file1 to file2 and both files contain same soft-links and/or
    external-links, if file2's target object path name is longer than file1's
    target object path name, the current code allocates memory buffer 
    incorrectly, so it could end up buffer overflow or wrong result.

Tested on Jam.
2010-01-20 16:26:17 -05:00
Raymond Lu
9196ccf059 [svn-r18124] I added the support of bitfield in H5Tget_native_type. Bitfield is similar to unsigned
integer.  I also added a test.

Tested on amani, jam, linew.
2010-01-20 15:15:27 -05:00
HDF Tester
12d1c08b10 [svn-r18121] Snapshot version 1.8 release 4 (snap6) 2010-01-17 17:45:24 -05:00
Quincey Koziol
bee73cf0aa [svn-r18110] Description:
Bring r18109 from trunk to 1.8 branch:

  Bring r18076-18096 from hdf5_1_8_coverity branch to trunk:

r18076:
Correct Coverity issue #1 by removing dead code

r18077:
Fix coverity item 142.  When an error occurred while copying a linked list in
H5S_point_copy, the library would not free the partially allocated list.  Added
code to free the list in this case.

r18078:
Correct Coverity issue #2 by removing impossible to reach code.

r18079:
Correct #3 by removing impossible to reach code.

r18080:
Correct Coverity issue #4 by removing impossible to reach code.

r18081:
fix coverity 26 , check (dblik->parent) before calls H5HF_man_iblock_detach().

r18082:
Fixed coverity issues 321 and 316.
   321: freed sm_buf in error handling to remove resource leak. 
       Also set sm_buf to NULL after other instances in which 
       it is freed to prevent double free.
   316: initialized nmembs to 0.

r18083:
Correct Coverity issue #6 by removing debugging knob from error reporting code.

r18084:
Fix coverity item 269 + others.  When a error occurred in a function using the
h5tools error framework, the "past_catch" variable would not be set to true
because that statement was before the label that goto jumped to.  This could
cause a failure in the cleanup section to go back to the start of the section,
freeing variables twice, etc.

Moved the label infront of past_catch=TRUE.

r18085:
fixed coverity #27, check if (heap) before use heap->obj....

r18086:
fixed coverity #28, check curr_span not null before use it at if(curr_span &&
   (io_bytes_left==0 || curr_seq>=maxseq))

r18087:
Correct Coverity issue #7 by cleaning up correctly on error

r18088:
Correct Coverity #8 by removing unchanged variable checking code.

r18089:
Correct Coverity issue #9 - remove impossible to reach code.

r18090:
Correct Coverity issue #11 by removing impossible to reach code.  Also clean
up some minor style issues.

r18091:
Fix coverity items 314 and 318.  Changed the improper assertion of the return
value of a library function to a check, and a return(void) on failure.

r18092:
Fix coverity item 70.  Changed the improper assertion of the return value of a
library function to a check, and a return(void) on failure.

r18093:
Correct Coverity issue #12 by removing dead code.

r18094:
Correct Coverity issue #16 by removing debugging code.

r18095:
Fixed coverity issue # 271.

Removed redundant checking and freeing of sm_buf1 and sm_buf2.

r18096:
Correct Coverity issue #17 by refactoring test to remove dead code.

   Also, removed previous "coverity" statements in comments, we'll review
those issues again and see if we can figure them out, now that we have more
experience with Coverity.

Tested on:
    Mac OS X/32 10.6.2 (amazon) debug & prod
2010-01-14 22:58:09 -05:00
Albert Cheng
ccd0afac9b [svn-r18106] bug 1673:
The mixed use of RUNTEST (original) and RUNTESTS (new) caused
confusion. E.g., the timings in test/ was still using the old
$RUNTEST.  It made more sense to use $RUNTEST which is used
by the dejagnu feature of automake.  So, I changed all
$RUNTEST or $RUNTESTS to $RUNEXEC.

config/commence.am & config/conclude.am are the two files
that got changes. Also fixed an error in test/Makefile.am.
The rest are changed by bin/reconfigure.

Tested: h5committested.
2010-01-12 18:57:44 -05:00
Allen Byrne
089d0ea9ad [svn-r18103] Added new H5HLint.c file. Corrected nodebug parameter to check.
Tested: windows
2010-01-11 14:00:31 -05:00
HDF Tester
30f3fcaa4a [svn-r18101] Snapshot 2010-01-10 18:02:58 -05:00
Scot Breitenfeld
9345b516b0 [svn-r18099] Description:
Merged changes from trunk/fortran into the branch used:

svn merge -r 17682:18098 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Tested on: jam (intel)
           amani (pgi)
2010-01-08 16:47:17 -05:00
Quincey Koziol
8984d662ed [svn-r18096] Description:
Correct Coverity issue #17 by refactoring test to remove dead code.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug
2010-01-08 15:32:12 -05:00
Mike McGreevy
b93ed894c6 [svn-r18095] Fixed coverity issue # 271.
Removed redundant checking and freeing of sm_buf1 and sm_buf2.
2010-01-08 15:22:56 -05:00
Quincey Koziol
41280d6bbe [svn-r18094] Description:
Correct Coverity issue #16 by removing debugging code.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug
2010-01-08 15:19:07 -05:00
Quincey Koziol
179c3e9c54 [svn-r18093] Description:
Correct Coverity issue #12 by removing dead code.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
2010-01-08 15:13:25 -05:00
Neil Fortner
c3b6d06991 [svn-r18092] Fix coverity item 70. Changed the improper assertion of the return value of a
library function to a check, and a return(void) on failure.

Tested: Fedora
2010-01-08 15:07:54 -05:00
Neil Fortner
0f15b4c999 [svn-r18091] Fix coverity items 314 and 318. Changed the improper assertion of the return
value of a library function to a check, and a return(void) on failure.

Tested: Fedora
2010-01-08 15:01:41 -05:00
Quincey Koziol
df60e8a523 [svn-r18090] Description:
Correct Coverity issue #11 by removing impossible to reach code.  Also clean
up some minor style issues.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
2010-01-08 15:01:16 -05:00
Quincey Koziol
322b981c37 [svn-r18089] Description:
Correct Coverity issue #9 - remove impossible to read code.

Tested on:
    Mac OS X/32 10.6.3 (amazon)
2010-01-08 14:50:23 -05:00
Quincey Koziol
987054a9e5 [svn-r18088] Description:
Correct Coverity #8 by removing unchanged variable checking code.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
2010-01-08 14:46:53 -05:00
Quincey Koziol
1b6cd030d3 [svn-r18087] Description:
Correct Coverity issue #7 by cleaning up correctly on error

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
2010-01-08 14:39:09 -05:00
Peter Cao
73508da070 [svn-r18086] fixed coverity #28, check curr_span not null before use it at if(curr_span && (io_bytes_left==0 || curr_seq>=maxseq)) 2010-01-08 14:34:19 -05:00
Peter Cao
984511ef0a [svn-r18085]
fixed coverity #27, check if (heap) before use heap->obj....
2010-01-08 14:24:53 -05:00
Neil Fortner
0ec9ee15c8 [svn-r18084] Fix coverity item 269 + others. When a error occurred in a function using the
h5tools error framework, the "past_catch" variable would not be set to true
because that statement was before the label that goto jumped to.  This could
cause a failure in the cleanup section to go back to the start of the section,
freeing variables twice, etc.

Moved the label infront of past_catch=TRUE.

Tested: Fedora
2010-01-08 14:24:47 -05:00
Quincey Koziol
23bfde73c2 [svn-r18083] Description:
Correct Coverity issue #6 by removing debugging knob from error reporting
code.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
2010-01-08 14:24:17 -05:00
Mike McGreevy
2181d7b0c3 [svn-r18082] Fixed coverity issues 321 and 316.
321: freed sm_buf in error handling to remove resource leak. 
     Also set sm_buf to NULL after other instances in which 
     it is freed to prevent double free.

316: initialized nmembs to 0.
2010-01-08 14:22:40 -05:00
Peter Cao
11e943f077 [svn-r18081] fix coverity 26 , check (dblik->parent) before calls H5HF_man_iblock_detach().
line, and those below, will be ignored--

M    src/H5HFdblock.c
2010-01-08 14:17:59 -05:00
Quincey Koziol
3794f9a78a [svn-r18080] Description:
Correct Coverity issue #4 by removing impossible to reach code.

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
2010-01-08 14:17:12 -05:00
Quincey Koziol
326fa32967 [svn-r18079] Description:
Correct #3 by removing impossible to reach code.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug
2010-01-08 14:13:29 -05:00
Quincey Koziol
8b5da53df2 [svn-r18078] Description:
Correct Coverity issue #2 by removing impossible to reach code.

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug
2010-01-08 14:12:02 -05:00
Neil Fortner
4b537ff840 [svn-r18077] Fix coverity item 142. When an error occurred while copying a linked list in
H5S_point_copy, the library would not free the partially allocated list.  Added
code to free the list in this case.

Tested: Fedora
2010-01-08 13:58:12 -05:00
Quincey Koziol
450e8db6f2 [svn-r18076] Description:
Correct Coverity issue #1 by removing dead code

Tested on:
    Mac OS X/32 (amazon) debug
2010-01-08 13:57:09 -05:00
Quincey Koziol
f0623bdbeb [svn-r18073] Description:
Bring r18072 from trunk to 1.8 branch:

	Bring r18071 from metadata journaling merge branch:

	Refactor local heap routines with changes from metadata journaling
branch, along with other misc. changes as the changes on the metadata journaling
branch are being converged with the current state of the trunk.

Tested on:
	Mac OS X/32 10.6.2 (amazon) debug & prod
	Linux/64 2.6 (amani) prod
	FreeBSD/64 (liberty) prod
2010-01-07 18:22:23 -05:00
Larry Knox
419b3d6649 [svn-r18069] Added entry to MANIFEST for new file config/ibm-aix.
Tested chkmanifest on jam.
2010-01-05 22:37:25 -05:00
Albert Cheng
501782cc23 [svn-r18064] Purpose:
Port to AIX 6.1 for RS6000.  Should be the same as PowerPC based AIX.

Tested:
Blue-print of NCSA.
2010-01-04 21:04:02 -05:00
Neil Fortner
54fd70764c [svn-r18063] Fix bug in links.c which occurs when zlib is disabled. This was fixed in the
trunk in r17751, but was not ported to 1.8 because that feature (compress group
fheap) had not beed added to 1.8 yet.  This fix should have been ported to the
cgfh branch at the time, but it was overlooked.

Tested: Fedora (too small for commit test)
2010-01-04 15:50:00 -05:00
HDF Tester
2cedbfab13 [svn-r18062] Snapshot 2010-01-03 19:19:13 -05:00
HDF Tester
048b57ea9b [svn-r18058] Snapshot 2009-12-27 17:59:00 -05:00
Albert Cheng
aea2282600 [svn-r18056] Bug fix: 1192
Description:
Fixed exit code (sometimes return code in Main) to follow the HDF5 standards.

Tested:
Jam, both serial and parallel.
2009-12-26 05:12:28 -05:00
Albert Cheng
51e9b59527 [svn-r18054] Updated for the moves of the testfiles.
Checked by bin/chkmanifest.
2009-12-26 02:55:16 -05:00
Albert Cheng
8de1f3aab3 [svn-r18053] Bug fix: 1192
Description:
Fixed exit code (sometimes return code in Main) to follow the HDF5 standards.

Tested:
H5committested plus serial test in Jam.
2009-12-26 02:43:50 -05:00
Albert Cheng
b6a36494bc [svn-r18052] Moved gif2h5 tools tesfiles from hl/tools/testfiles to hl/tools/gif2h5/testfiles
so that it has its own testfiles directory.

Tested:
h5committested.
2009-12-25 07:54:08 -05:00
Albert Cheng
a4027247df [svn-r18050] Bug fix: 1192
Description:
Some exit code (sometimes return code in Main) to follow the HDF5 standards.

Tested:
H5committested plus serial test in Jam.
2009-12-25 07:32:05 -05:00
HDF Tester
2fd8480ec7 [svn-r18049] Snapshot 2009-12-20 19:01:11 -05:00
Quincey Koziol
4d9201cdca [svn-r18046] Description:
Bring r18045 from trunk to 1.8 branch:

        Slush changes back & forth between trunk, the merging branch and the
metadata journaling branch to level them out to a reasonably common set of code
to work from for the next set of more significant changes.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2009-12-19 20:44:54 -05:00
Quincey Koziol
69adfc23bd [svn-r18042] Description:
Bring r18039 from trunk to 1.8 branch:

	Minor code cleanups, to align better w/ongoing metadata journaling
convergence.

Tested on:
        Mac OS X/32 10.6.2 (amazon) w/debug
        (too minor to require h5committest)
2009-12-19 15:43:24 -05:00
Quincey Koziol
cccd3d26d6 [svn-r18038] Description:
Bring r18037 from trunk to 1.8 branch:

        Bring r18035 from merge_metadata_journaling branch to trunk:

        More "brush clearing" convergence between metadata_journaling branch
and the trunk.

Tested on:
        Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
	(h5committested on trunk)
2009-12-19 00:45:56 -05:00
Quincey Koziol
856b2e2c25 [svn-r18034] Description:
Bring r18033 from trunk to 1.8 branch:

	Correct error in merging Coverity changes in r18011

Tested on:
        None - eyeballed only (very simple)
2009-12-18 23:15:36 -05:00
Quincey Koziol
80385ab8dd [svn-r18032] Description:
Bring r18031 from trunk to 1.8 branch:

	Bring r18030 from merge_metadata_journaling branch to trunk:

	Bring "brush clearing" changes (whitespace & style issues, mostly) from
metadata_journaling branch to the "merging" branch, to converge the trunk and
the metadata_journaling branch.

	Also, some other minor cleanups along the way.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2009-12-17 17:38:50 -05:00
Raymond Lu
0db6255d80 [svn-r18026] On Boeing's OpenVMS, the value of EXIT_FAILURE is 268435458.
(The test is in test_exit_definitions.)  Their document says
it's supposed to be 2.  I commented it out for further
consideration.

Tested on jam - simple change.
2009-12-16 16:12:51 -05:00
Raymond Lu
f03234031f [svn-r18023] I removed a duplicated line from the read_old function. There were 2 identical calls to
the function H5Fopen.

Tested on jam and OpenVMS.
2009-12-16 15:34:21 -05:00
Raymond Lu
d6a53eadec [svn-r18021] I added tlinks to testhdf5.
Tested v1.8.4 on OpenVMS.
2009-12-16 15:20:54 -05:00
HDF Tester
f866495ba0 [svn-r18014] Snapshot 2009-12-13 19:03:58 -05:00
Quincey Koziol
6c9d003d4e [svn-r18013] Description:
Bring r18011 from trunk to 1.8 branch:

   Bring Coverity changes into the trunk: (also other minor cleanups)

r17991:
Fix Coverity items 175 and 176.  Fixed memory leak on error in print_enum in
H5LT.c.

r17993: (r17992 was not a Coverity change)
Close Coverity issue #206: inconsistently checking whether dt->shared was
non-NULL after H5T_alloc() returned a valid 'dt' value (which should guarantee
that dt->shared is valid).

r17994:
Fix Coverity item 149.  Fixed file handle leak on error in H5FD_stdio_open.

r17995:
Fixed Coverity issues 154 to 161:

Added H5MP_close routine to error handling in the event *mp has not been
freed before error.

r17996:
Close Coverity issue #126: potentially leaking merged_spans on routine failure.

r17997:
Fix Coverity items 147 and 148.  Fixed resource leaks on error in H5FDloc.c.

r17998:
Coverity issue 269-272:
   Added integer result variable to functions that could return negative.
       Assigned to unsigned after checking.
   Added H5E_BEGIN_TRY block around H5Tclose and removed H5E_THROW in the
       catch block.
   Checked buffer is NULL before free. Changed HGOTO_ERROR outside of the if
       block to H5E_THROW.

r17999:
Close Coverity issue #127: release temporary spans in more generic manner.
(Also add error checking to previous fix)

r18000:
Resolved Coverity issues 211 and 212 in H5T.c. Added comments to ignore
Coverity warning regarding not checking pointer for NULL, as we are using
an assert which catches the issue.

r18001:
Fix Coverity item 146.  Fixed resource leak on error in H5O_layout_copy.

r18002:
Fix Coverity items 143 and 145.  Fixed resource leaks on error in
H5D_compact_copy and H5D_contig_copy.

r18003:
Close Coverity issue #192: close file on error

r18004:
Fix Coverity issue #125: release temporary spans on error

r18005:
Resolved Coverity issues 5, 25, and 83 (in H5T.c):

   Separated embedded functions in order to check for NULL on return of
       H5I_object before passing into H5T_copy.

   Check to see if new_dt is NULL within error handling before
       dereferencing it.

   Ignore Coverity's dead code warnings as the checks that lead to the code
       are machine dependent.

r18006:
Coverity 63,70,73:  Checked result of function before assigning to an unsigned
variable.

r18007:
Coverity 78,79:   added continue statement if H5Pget_filter2 returns negative.

r18008:
Fixed Coverity issue # 138:

   Added support in error handling to free dst pointer (if allocated) on error.

r18009:
Whitespace & coding style cleanup

Tested on:
    Mac OS X/32 10.6.2 (amazon) w/debug & production
    (h5committested on trunk)
2009-12-13 07:50:01 -05:00
Allen Byrne
7f46301cee [svn-r17990] Tested MinGW environment on XP32 with latest environment and gcc 4.4.0 tools.
Tested: Windows XP 32bit
2009-12-11 12:46:49 -05:00
Raymond Lu
f9e5bda9d8 [svn-r17984] I put the bug fix info for #1584. No test is needed. 2009-12-10 11:36:46 -05:00
Quincey Koziol
5c8ab3e88d [svn-r17983] Description:
Bring r17981 from trunk to 1.8 branch:

Abstract "print header" code into separate routine.

Tested on:
   Mac OS X/32 10.6.2 (amazon) w/debug
  (too minor to require h5committest)
2009-12-10 09:03:52 -05:00
Quincey Koziol
57ac6e6745 [svn-r17982] Description:
Bring r17980 from trunk to 1.8 branch:

   Bring Coverity changes into the trunk: (also other minor cleanups)

r17955:
Fix Coverity item 24.  Add missing error condition to
H5AC_ext_config_2_int_config.

r17956:
Fix Coverity item 24.  Improve error checking in H5A_compact_build_table_cb.

r17957:
Fix Coverity item 150.  Fix warning in H5A_compact_build_table_cb.

r17958:
Fix Coverity item 117.  Fix error handling in H5B_shared_new.

r17959:
Fix Coverity item 209.  Added an assertion for leaf->shared in
H5B2_cache_leaf_dest.

r17960:
Fix Coverity item 208.  Added an assertion for internal->shared in
H5B2_cache_internal_dest.

r17961:
Fix Coverity item 89.  Reworked the code to avoid array overrun in
H5C__autoadjust__ageout__insert_new_marker.

r17962:
Fix for coverity Resource_leak 195,203,204,205.

r17963:
Fix Coverity item 44.  Prevented potential NULL dereference in H5D_btree_debug.

r17964:
Fix Coverity issues #197, 198 & 199: memory not being released.  (Also
clean up other resource leaks in nearby and/or similar code).

r17965:
Fix Coverity issue #151: release resources on error

r17966:
Fix Coverity issue #187: Remove leftover code remnant from prior bugfix
which was causing resource leak of open files.

r17967:
Fixed Coverity issues # 193 & 194.  Removed unnecessary memory allocation and
added comparison of length of path parameter to the size of the destination
buffer in h5import.h/h5import.c.

r17968:
Fix Coverity item 144.  Fixed memory leak on error in H5D_chunk_copy.

r17969:
Fix for coverity Resource_leak #196.

r17970:
Coverity 167-173:
Initialized pointer of buffers.
In error handling, closed types and free memory.

Tested on:
   FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
   (h5committested on trunk)
2009-12-10 08:58:14 -05:00
Quincey Koziol
892050a830 [svn-r17979] Description:
Bring r17978 from trunk to 1.8 branch:

    Simplify checking for detecting variable-length strings.

Tested on:
    Mac OS X/32 10.6.2 (amazon) debug & production
    Too minor to require h5committest
2009-12-09 13:20:37 -05:00
Raymond Lu
7d8ceade33 [svn-r17976] Bug fix for 1584. H5Tdetect_class said a VL string is a string type. But when it's in a
compound type, it says it's a VL type.  We want to tell user a VL string is a string.  But 
internally we treat it as a VL type.  I added a flag as a parameter of H5T_detect_class.  It
tells whether the caller is the public function H5Tdetect_class.  I also added a detection for
VL string in the private function for the compound case (or array or nested VL type).

Tested with h5committest.
2009-12-09 11:15:45 -05:00
HDF Tester
4f90de0956 [svn-r17975] Snapshot 2009-12-07 09:47:54 -05:00
Quincey Koziol
1d8a1b22f1 [svn-r17972] Description:
Bring r17971 from trunk to 1.8 branch:

    Allow the core VFD to properly support opening backing store files through
symbolic links and have the external links in the file be treated in the same
way as for the sec2 driver.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-12-06 22:27:19 -05:00
Quincey Koziol
77a3cc2292 [svn-r17954] Description:
Bring r17953 from trunk to 1.8 branch:

   Bring Coverity changes into the trunk:

r17877:
Error 266: Uninitialized memspace set to -1. Changed malloc and free to HDmalloc and HDfree. Removed unused dtype var.

r17878:
Error 265: Uninitialized mem_space set to -1. Changed malloc and free to HDmalloc and HDfree. 
Error 267: Uninitialized smspace set to -1. Changed malloc and free to HDmalloc and HDfree.

r17879:
Error 242: Uninitialized aid set to -1. 
Error 243: Uninitialized sid set to -1. 
Uninitialized tid set to -1 for consistency

r17880:
Error 242: reinitialized aid to -1 after close to be ready for reuse. 
Error 243: reinitialized sid to -1 after close to be ready for reuse. 
reinitialized tid to -1 for consistency after close to be ready for reuse.

r17881:
use valgrind to check there is a memory leak. The fix is to free ptrstr in line 5838 at xml_dump_group() of h5dump.c after it is used. run the valgrind after the fix, no memory leak for that part of the code.

r17882:
Fix Coverity items 256 and 269.

r17883:
Error 222-230: initialized hid_t vars to -1 after close to be ready for reuse. 
Also added H5Tclose for tid in gent_bigdims

r17884:
Bug fix (Coverity run2, view 23, dead code)
(this is pair-program done by Albert, Elena and Larry).

Confirmed and fixed the deadcode in hyperslab read branch of function
diff_datasetid.
(Discovered other bad code that diff_datasetid() should be recoded.  
Bug 1693 is entered for this.)

r17906:
Fix Coverity item 260.

r17907:
262: Initialized hid_t's dtype, dtype_tmp and file to -1. Initialized H5T_t * dt to NULL.

r17908:
Fix Coverity item 261.

r17909:
Fix Coverity item 248.

r17910:
Revise fix for Coverity item 248.

r17911:
Resolved coverity issues #s 263, 162, 163, 164. All issues in dsets.c. Initialized fid and did hid_t's. filter_corrupt function was returning in the middle of an if statement, bypassing free calls. Updated error handling to free buffers and hid_t's appropriately.

r17912:
(done by Larry and Albert)
Cleanup Coverity view warnings (#231-241) about
using uninitialized variables.  Initialized all
of them.

r17913:
Resolved issue 251 and 264. Initialized tid2 to -1 and initialized buffers that were freed in case of an error.

r17914:
Resolved coverity issues 66, 220, and 221: 

66: Negative Return assignment ignored

220,221: Initialized hid_t's.

r17915:
Fix Coverity item 247.

r17916:
Fix Coverity item 246.

r17917:
Fix Coverity item 245.

r17918:
Fix Coverity item 244.

r17919:
Coverity Issue #84: Moved asserts in H5T_cmp to the top of the function, and converted them to HDassert. Coverity complaining about using potentially NULL pointer without checking it. Want to see if Coverity will accept Assertions as acceptable checking before using the value. 

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2009-12-03 14:41:48 -05:00
Quincey Koziol
05bdd6d729 [svn-r17952] Description:
Bring r17951 from trunk to 1.8 branch:

    Skip symlink test for external links when not using the sec2 VFD.

Tested on:
    Mac OS X/32 (amazon) w/various VFDs
    (too minor for h5committest)
2009-12-03 10:51:19 -05:00
Allen Byrne
6460a193a6 [svn-r17950] Added new H5SMmessage.c file to project files
Tested: Windows
2009-12-02 17:10:46 -05:00
Quincey Koziol
90c94ab5d7 [svn-r17944] Description:
Bring r17943 from trunk to 1.8 branch:

	Finish refactoring v2 B-trees so that they can have client callback
context provided to the encode/decode callbacks.

Tested on:
	FreeBSD/64 6.3 (liberty)
	(h5committested on trunk)
2009-12-01 12:05:23 -05:00
Quincey Koziol
e3abb6e11a [svn-r17942] Description:
Forgot to run bin/reconfigure before last checkin, done now.

Tested on:
	FreeBSD/32 6.3 (duty)
	(h5committested on trunk)
2009-12-01 09:37:18 -05:00
Quincey Koziol
c909c5e7cf [svn-r17941] Description:
Bring r17939 from trunk to 1.8 branch:

	Handle external links from symlinked files by adding another check to
look for "child" files for links from the actual location of the "parent" file,
instead of from the location of the symlink.

Tested on:
	FreeBSD/32 6.3 (duty)
	(h5committested on trunk)
2009-12-01 09:20:41 -05:00
Jonathan Kim
b4b16947b7 [svn-r17940] Purpose:
Fix potential problem similar to Bug1672 (getting garbage values)

Description:
    This will resolve the potential problem like Bug1672 when comparing 
    attributes. It improves the performance by not calling diff_array 
    twice. (diffing time in half). Little clean up on comment lines.
    Refer to the Bug fix 1672. (svn revision 17921 on 1.8 branch) 
	
Tested on:
    linux32 (jam) , linux64 (almani), solaris (linew)
2009-12-01 08:50:29 -05:00
Albert Cheng
4d62a79cc4 [svn-r17935] Updated AIX compilers information. 2009-11-27 11:12:11 -05:00
Albert Cheng
8d1f377af2 [svn-r17933] Updated with new ibm compiler configure changes. 2009-11-26 13:10:00 -05:00
Albert Cheng
cbc8973a5f [svn-r17930] Enhancement:
Added the xlc-* and mpcc_r-* BASENAME patterns to be recognized as IBM
compilers so that the ibm compiler options can be added properly.
This allows non-system-default compiler command names (e.g. xlc-m.n.k.l)
be recognized.
(need to figure out a better way to recognize it is an IBM compiler
and its version information.)

Tested: LLNL AIX machine.
2009-11-26 12:41:34 -05:00
Allen Byrne
463269c10a [svn-r17926] Add definition for HDlstat for windows.
Tested: windows
2009-11-25 15:27:21 -05:00
Quincey Koziol
58048308c5 [svn-r17925] Description:
Bring r17924 from trunk to 1.8 branch:

	Add detection for POSIX lstat() routine to configure script (mostly for
non-UNIX/Linux machines) and add macro wrapper for it.

	Alphabetatize the system/library calls we test for, to make them easier
to read.

	Removed the sigaction() detection & macro wrappers, since it's not
used by the distribution currently.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-11-23 16:45:23 -05:00
Quincey Koziol
7b402d827d [svn-r17923] Description:
Bring r17922 from trunk to 1.8 branch:

        Improve error reporting for read/write failures.

Tested on:
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2009-11-23 14:03:23 -05:00
Jonathan Kim
cbe163c6ce [svn-r17921] Purpose:
Fix Bug1672 - Display garbage value on LE machine for BE data.

Description:
	Casuing by calling diff_dataset twice when -r or no option was given.
	Change to call it once which fix the problem. 
	It also improves the performance. (diffing time in half)
	According further test, it also occurred on BE machine as well and it 
	seems occruing only with the BE data attached to Bugzilla. 
	Don't know how the file was created. Anyway this fix will prevent 
	from diffing with garbage values in similiar potential case. 
	
Tested on:
	linux32 (jam) , linux64 (almani), solaris (linew)
2009-11-20 17:17:48 -05:00
Quincey Koziol
218469b0ac [svn-r17894] Description:
Bring r17893 from trunk to 1.8 branch:

	Remove old shim H5B2 routines from refactoring, rename new routines to
old routine names and switch all users of the H5B2 interface back to the old
routine names now that the switch to using the more current open -> <operation>
-> pattern is used for all the H5B2 code.  This is the final change before 
adding a context to the H5B2 client encode/decode callbacks.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-11-14 22:51:39 -05:00
Quincey Koziol
b6e30d9c79 [svn-r17892] Decription:
Bring r17891 from trunk to 1.8 branch:

	Switch the shared object header messages code to use the refactored
v2 B-tree routines.  (this should be the interface that is using them)

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-11-14 00:07:27 -05:00
Quincey Koziol
437b17f2b4 [svn-r17890] Description:
Bring r17889 from trunk to 1.8 branch:

	Switch a bunch of misc. places in interfaces that were already
converted to use the refactored v2 B-tree routines to use the refactored v2
B-tree routines.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-11-13 22:42:31 -05:00
Quincey Koziol
ed505ff5fa [svn-r17888] Description:
Bring r17887 from trunk to 1.8 branch:

	Convert dense attribute storage to use refactored v2 B-tree routines.
Also fix some minor typos in the dense group handling code.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5commitested on trunk)
2009-11-13 21:22:44 -05:00
Quincey Koziol
65f2fdd447 [svn-r17886] Description:
Bring r17885 from trunk to 1.8 branch:

	Convert 'huge' fractal heap object management code to use refactored
v2 B-tree routines.

	Also, switch internal representation of 'sizeof_addr' and 'sizeof_size'
in files to be uint8_t's instead of size_t's, since they are stored in single
bytes in the file format.

	Various other minor compiler warning cleanups and error call tweaks.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk
2009-11-13 18:56:45 -05:00
Quincey Koziol
49ef13ea74 [svn-r17874] Description:
Bring r17873 from trunk to 1.8 branch:

	Change dense group storage to use refactored v2 B-tree interface.  Also
tweak dimension sizes for dataset in test down so it doesn't blow out the stack.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-11-12 22:36:23 -05:00
Elena Pourmal
2fbed9ec4a [svn-r17872] Maintenance: Added 1.8.4 release information to the branch history file. 2009-11-12 11:38:49 -05:00
Allen Byrne
0514d23c0d [svn-r17870] Removed VS6 reference in install_dll.bat.
Added option to not build and test debug versions.
2009-11-11 12:48:23 -05:00
Elena Pourmal
6e68ac3f2d [svn-r17868] Maintenance: Added information about gfortran to the list of the compilers
used for testing.
2009-11-10 15:38:19 -05:00
Quincey Koziol
8e1e3d8708 [svn-r17864] Description:
Bring r17863 from trunk to 1.8 branch:

        Switch HSYS_GOTO_ERROR() & HSYS_DONE_ERROR() macros to use printf-like
functionality for displaying system error messages.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.2 (amazon) in debug mode
	Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-11-10 14:37:42 -05:00
Quincey Koziol
37358db8ab [svn-r17862] Description:
Bring r17860 from trunk to 1.8 branch:

	"Normalize" object names for external links, making them into the same
form as used for soft links.

	Begin the process of adding more printf-like information to library
error reporting.  HGOTO_ERROR() and HDONE_ERROR() macros can now use the last
parameter (a string) like a printf() formatting string and pass extra
parameters with additional information.  (For example, see the HGOTO_ERROR
macros in H5FD_sec2_read() in src/H5FDsec2.c)

	Bring the underlying H5E_printf_stack() routine from trunk to 1.8
branch also.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.2 (amazon) in debug mode
       Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2009-11-10 12:30:09 -05:00
Quincey Koziol
fbd4cf9bfe [svn-r17849] Description:
Bring r17848 from trunk to 1.8 branch:

	Further refactoring v2 B-trees so that they can get context to the
encode/decode client callbacks:

	- Switch tests to using refactored routines

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.1 (amazon) in debug mode
       Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2009-11-07 09:43:22 -05:00
Quincey Koziol
016d3bd3fb [svn-r17843] Description:
Bring r17842 from trunk to 1.8 branch:

	Further refactor v2 B-tree code toward being able to pass context info
down to encode/decode client callbacks:
	- Separate H5B2_create call to return H5B2_t structure
	- Make loading the v2 B-tree header pick up the client class from the
		ID stored in the file.  Simplify some internal API calls as a
		result.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.1 (amazon) in debug mode
       Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2009-11-05 15:31:07 -05:00
Quincey Koziol
12f9610b7b [svn-r17839] Description:
Bring r17838 from trunk to 1.8 branch:

	Further refactoring of v2 B-tree code, moving toward being able to pass
a context information to a client's encode/decode callbacks.

	Also, clean up of other minor compiler warnings and code formatting
issues.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.1 (amazon) in debug mode
       Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2009-11-05 09:54:06 -05:00
Elena Pourmal
e0ba416d34 [svn-r17833] Maintenance: Fixed C++ compiler information while checking it for 1.8.4 release 2009-11-04 18:58:47 -05:00
Albert Cheng
3e3731f93d [svn-r17831] Bug fix:(sort of)
Some systems, like AIX poe, interpret exit(134) the same as if the process has
really been interrupted by the abort signal and prints extra messages that
confuse test script which is looking for matching output.

Solution:
Changed it to exit(6) which still has the "appearance" of an abort signal which
carries the value of 6 in Unix systems.

Tested: LLNL Up both serial and Parallel.
2009-11-04 17:07:30 -05:00
Albert Cheng
6d639e66b7 [svn-r17829] Updated the part of IBM SP to make it clearer why single process is needed
during the build part.
2009-11-04 16:48:08 -05:00
Albert Cheng
28ae489de3 [svn-r17827] Updated information concerning Red Storm Qual. 2009-11-04 14:56:23 -05:00
Albert Cheng
499a0dbe4a [svn-r17822] Removed entried of Spirit which has retired.
Updated OS information of Glory.
2009-11-04 13:29:21 -05:00
Mike McGreevy
df2327baef [svn-r17820] Purpose:
Updating RELEASE.txt

Description:

    Clarifying explanation of --enable-static-exec behavior.

Tested:

    Doc only, none needed.
2009-11-04 09:40:10 -05:00
Albert Cheng
2161f58f86 [svn-r17817] Removed Zeus and ubgl entries since they were not tested any more.
Added AIX known problem of testcheck_version.sh failure.
2009-11-03 23:32:05 -05:00
Quincey Koziol
d1e144339d [svn-r17814] Description:
Correct 'src' to 'dst' in error message for H5D_read.  (Bz#1683)

Tested on:
        Eyeballed only - too minor to require h5committest
2009-11-03 14:27:36 -05:00
Neil Fortner
448ae27548 [svn-r17812] Update RELEASE.txt for fractal heap filtering changes (r17807) 2009-11-03 11:34:32 -05:00
Allen Byrne
9bcd6e0621 [svn-r17809] Corrected expected output text file to match actual output. (Verified to linux output).
Corrected solution file type to not try to build .exe the solution name.
2009-11-03 11:31:00 -05:00
Quincey Koziol
d8c4700561 [svn-r17807] Description:
Bring r17623 from trunk to 1.8 branch:

	Bring "compress group's fractal heap" feature from feature branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.1 (amazon) in debug mode
       Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2009-11-03 08:17:14 -05:00
Allen Byrne
ebd34a6a4d [svn-r17804] corrected examples test batch files 2009-11-02 14:00:54 -05:00
Albert Cheng
40a80d55fb [svn-r17798] Removed support and known problems of the IRIX, IRIX64 and Tungsten platforms
since they have retired.
Added known problem of h5repack in AIX -q32 platform.
2009-11-02 09:31:06 -05:00
Quincey Koziol
ac0778592a [svn-r17786] Description:
Bring r17749 & 17785 from trunk to 1.8 branch:

17749:
	Refactor v2 B-tree code to bring it further in line with how the fractal
heap code works, to make forthcoming modificaions easier.  Also minor tweaks to
the fractal heap code to clean it up a bit more also.

17785:
	Further refactor v2 B-tree code to bring it closer to modern data
structure designed in the library, mainly by introducing a H5B2_t type so that
the v2 B-tree could be held open, but not require the B-tree header to be
protected the whole time.  A few other minor tweaks as well.

	Also, remove unused 'dirty' flag from fractal heap header.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.1 (amazon) in debug mode
        Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-29 09:54:08 -05:00
Quincey Koziol
7abd8c4d30 [svn-r17779] Description:
Bring r17778 from trunk to 1.8 branch:

    Make check for NULL dataspace a bit safer.

Tested on:
    FreeBSD/32 6.3 (duty)
    (too minor for h5committest)
2009-10-28 16:59:56 -05:00
Albert Cheng
1697bf666b [svn-r17776] Bug fix: I added the test
TOOLTEST file_space.ddl -B file_space.h5
by accident (copied from the trunk version).
Removed it.

Tested: jam. (skipped h5committest since it is
a trivial change of removing an action line.
The file_space.ddl and file_space.h5 do not exist
in this branch. (that was how I discovered my mistake.)
2009-10-28 15:45:06 -05:00
Mike McGreevy
1fa0de7a81 [svn-r17773] Purpose:
h5cc link-line reordering

Description:

    Re-ordered flags in h5cc such that LDFLAGS appears after hdf5 library 
    include path. This is to ensure third party library locations don't 
    interfere with locating the correct version of hdf5 library.

    I have Elena's permission to bring into 1.8 before anything else (so it 
    can be tested via daily tests ASAP), though the hope is to propagate 
    everywhere.

Tested:

    quickly by hand on jam, daily tests should catch elsewhere.
2009-10-28 14:05:35 -05:00
Albert Cheng
6f29232adb [svn-r17769] Bug 1264 fixed.
Tests to verify the bug fixed are installed.

Test: v1.8.4 passed all tests on
Jam (default and with --disable-depreacted-symbol), Amani (v16API), 
Linew (default).
This should be good for v1.8 too.
2009-10-28 02:25:02 -05:00
Neil Fortner
0599c6f0a4 [svn-r17766] Purpose: Fix bug 1483
Description:
H5HG_load made improper assumptions about the ordering of object indices, namely
that they are in order.  Not only is this not guaranteed by the file format
spec, but this condition can be violated if id's "wrap around" which can happen
when overwriting VL data.  H5HG_load has been fixed to handle any order of
indices.  Also fixed some other bugs involving allocation of global heaps in
memory.

Tested: jam, linew, amani (h5committest)
2009-10-27 22:00:50 -05:00
Neil Fortner
f6ebbc0109 [svn-r17762] Purpose: Fix problem with H5TB API
Description:
The H5TB API makes some improper assumptions about the order of compound
datatype members.  Namely, it assumes that members remain in the order in which
they were inserted.  Unfortunately, this assumption is inherent in the design of
the interface.  The library has been patched so that this assumption holds in
situations relevant to H5TB.

Tested: jam, linew, amani (h5committest)
2009-10-27 17:45:31 -05:00
Neil Fortner
b080ca4806 [svn-r17757] Purpose: Fix assertion failure caused by H5Tcommit1/2
Description:
Calling H5Tcommit_anon on a file with read only access would cause an
assertion failure.  Added a check to H5T_commit to return a failure in
this case.  Removed redundant check in H5T_commit_named.

Tested: Fedora 11 (very minor change)
2009-10-27 16:33:12 -05:00
Neil Fortner
22eb024930 [svn-r17754] Purpose: Fix assertion failure caused by H5Tcommit1/2
Description:
Calling H5Tcommit1 or H5Tcommit2 on a file with read only access would cause an
assertion failure.  Added a check to H5T_commit_named to return a failure in
this case.

Tested: Fedora 11 (very minor change)
2009-10-27 16:08:58 -05:00
Allen Byrne
312d3d4b2e [svn-r17753] Remove .NET references from windows text files and batch files 2009-10-27 16:04:33 -05:00
Allen Byrne
5fd0573836 [svn-r17743] Added new file to project files 2009-10-26 09:08:37 -05:00
Quincey Koziol
5345a51120 [svn-r17741] Description:
Bring r17740 from trunk to 1.8 branch:

	Refactor v2 B-tree code to take creation parameters to H5B2_create() as
a struct (instead of individual arguments), call the client's class "cls"
instead of "type" internally, and add client class name to client class struct.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.1 (amazon) in debug mode
        Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-24 14:50:51 -05:00
Quincey Koziol
7a68924d3b [svn-r17739] Description:
Bring r17737 from trunk to 1.8 branch:

	Fix error in dataset's chunk index v1 B-tree debugging code to correctly
pass userdata down to B-tree cache load routine.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.1 (amazon) in debug mode
        Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-23 15:14:48 -05:00
Quincey Koziol
663919aa50 [svn-r17738] Description:
Bring revisions 17649, 17657 and 17658 from trunk to 1.8 branch:

	17649: Refactor v2 B-trees to pin the B-tree header in the cache instead
		of using separate reference counted data structure.

	17657: Refactor the v2 B-tree code to use an open & close call
		internally, in preparation for making those part of the library
		private APIs for dealing with v2 B-trees.

	17658: Rename 'H5B2_t' -> 'H5B2_hdr_t' and 'bt2' -> 'hdr' in preparation
		for make v2 B-tree open/close routines library private (instead
		of static).

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.6.1 (amazon) in debug mode
        Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-23 15:11:11 -05:00
Binh-Minh Ribler
7fcd1375d8 [svn-r17735] Description:
Added information about changes in C++ API
2009-10-23 09:05:33 -05:00
Allen Byrne
53dc352e9a [svn-r17733] Correct batch file typo 2009-10-23 09:03:38 -05:00
Binh-Minh Ribler
5458aba603 [svn-r17729] Description:
Added information about the changes in C++ API.
2009-10-23 08:05:20 -05:00
Allen Byrne
5e4ca64616 [svn-r17727] Updated the errorlevel checking for better error handling in the windows batch files. 2009-10-22 16:24:15 -05:00
Albert Cheng
5f87e53d04 [svn-r17717] Cosmetic change to use exit(EXIT_FAILURE) instead of exit(1).
Tested: jam-pp.
2009-10-21 13:59:17 -05:00
Albert Cheng
651b125bbd [svn-r17714] Add the following patch
===
The following patch to h5copy.c on or near line 173 makes the
tool substantially more useful...
     *flag = (*flag) | fla;
Because the command-line option parsing permits multiple '-f' arguments,
this will have the effect of or'ing the flags together so one can do
someting like....

~/tmp/hdf5-1.8.1/tools/h5copy/h5copy -i multi_ucd3d.h5 -s block5 -o gorfo -d foo
 -f shallow -f soft

Mark C. Miller, Lawrence Livermore National Laboratory
email: mailto:miller86@llnl.gov
===

Also fixed to exit failure if no command option is given.


Tested: Jam
2009-10-21 13:18:45 -05:00
Elena Pourmal
c1219b534b [svn-r17709] Maintenance: Changed version number to 1.8.4-snap0
Updated RELEASE.txt and HISTORY.txt file accordingly.
2009-10-21 08:29:15 -05:00
Albert Cheng
ce5e8b2a39 [svn-r17704] Bug fix: (1192)
Changed exit(1) to exit(EXIT_FAILURE) and exit(0) to exit(EXIT_SUCCESS) for
better coding.

Tested: jam.
2009-10-20 19:34:42 -05:00
Albert Cheng
aa46073801 [svn-r17701] Bug fix: (1192)
Comment says Error exit code is -1 but actual code use 1.
Changed it to EXIT_FAILURE (1) and exit(0) to exit(EXIT_SUCCESS) for
better coding.

Tested: jam.
2009-10-20 19:04:56 -05:00
Albert Cheng
cdff348e48 [svn-r17698] Bug fix: (1192)
Error exit code of -1 is illegal (exit code is unsigned).
Changed it to EXIT_FAILURE (1).
Also changed exit(0) to exit(EXIT_SUCCESS) for better coding.

Tested: jam.
2009-10-20 18:46:38 -05:00
Allen Byrne
f6377589f7 [svn-r17696] added new tlinks.cpp files to windows project files.
Tested: windows
2009-10-20 16:16:08 -05:00
Binh-Minh Ribler
cdf49b6472 [svn-r17695] Purpose: Code improvement
Description:
    Fixed CommonFG::getComment and CommonFG::getLinkval to provide
    default values for buffer size to improve usability.

    Added test file tlinks.cpp, which only contains test for getLinkval
    and will expand when C++ wrappers for H5L functions are implemented.

Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
2009-10-20 14:59:43 -05:00
Albert Cheng
e91af4bdbd [svn-r17694] Removed the erroneous test of using v16 API.
The error started out as an erroneous test of using v16 API via
source code. (See bug 1264).  It was implemented as:

#include "hdf5.h"
#define H5_USE_16_API

That was incorrect and generated warnings in Linux but error in AIX
for redefining macro H5_USE_16_API.

I corrected it yesterday to pass AIX by moving H5_USE_16_API up as:

#define H5_USE_16_API
#include "hdf5.h"

This is the proper way to turn on v16API and it passes all normal
tests.  I knew it would not work if somehow v16API is disabled
but hoping it can be fixed later.  Well, it broke last night
under --disable-deprecated-symbols.  

Removed the #define H5_USE_16_API and let Raymond fix it after
the release.
2009-10-20 14:43:00 -05:00
Allen Byrne
d173513315 [svn-r17687] Added new windows project files 2009-10-20 07:45:57 -05:00
Albert Cheng
5158a3f3e4 [svn-r17686] Bug fix:
#define H5_USE_16_API
was inserted AFTER #include <hdf5.>, too late was it to take
effect. Instead, it caused a macro redefinition, flagged as an error
by AIX.

Fixed by moving it before the <hdf5.h>.

Tested: Jam.
2009-10-20 00:07:50 -05:00
Scot Breitenfeld
9c6753a50e [svn-r17684] Description:
Added new fortran features and bug fixes.
2009-10-19 16:47:57 -05:00
Scot Breitenfeld
74665e4c13 [svn-r17683] Description:
Merged changes from trunk/fortran into the branch used:

svn merge -r 17517:17682 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Tested on: 

  amani: pgi compiler
         intel compiler (11.0)

  linew

  jam: gcc/gfortran (4.3)
2009-10-19 16:16:42 -05:00
Allen Byrne
0161c90b9b [svn-r17682] Added tcheckversion project files.
Tested: Windows
2009-10-19 12:34:52 -05:00
Larry Knox
b26426f5b3 [svn-r17677] Snapshot version 1.8 release 3 (snap13) 2009-10-19 00:41:33 -05:00
Mike McGreevy
1ea112f552 [svn-r17676] Purpose:
Configure Cleanup

Description:

    Make all AM_CFLAGS visible in CFLAGS during configure so all checks
    have full visibility of any set flags.

Tested:

    h5committest
2009-10-18 22:19:15 -05:00
Albert Cheng
f912cacabc [svn-r17672] Removed these two options from the fortran flags:
-qmoddir=. because -qmoddir defaults to current directory already.
   -static because it is not mentioned in "man xlf". Don't know it was a typo
    or just an obsoleted option.
Removing both of them produced no ill or visible effects.

Tested: Up of LLNL
2009-10-18 17:56:29 -05:00
Albert Cheng
f3986a1b59 [svn-r17669] Bug 1656 fix:
added a signal handler to the tcheck_version to intercept the abort signal from
H5check_version.  Some systems would prints extra messages and/or core dump if
the abort signal is not handled. This eliminates those unwanted side effect.

Tested: h5committested.
2009-10-17 23:59:16 -05:00
Albert Cheng
4083412033 [svn-r17666] Bug fix:
The file failed to compiled in AIX which flags syntax error.
Fixed by making the statements more explicitly compare with NULL
and added a missing trailing semi-colon.

Tested:
Tested in AIX (Up at LLNL) only. The changes are trivial and should
be portable to all platform.s
2009-10-17 17:44:41 -05:00
Larry Knox
1825d962df [svn-r17665] Remove -D_POSIX_SOURCE from CPPFLAGS in h5cc. This flag breaks netcdf4 when compiling with h5cc and is not missed by hdf5-examples or hdfeos5.
Tested:  jam.
2009-10-17 15:46:19 -05:00
Mike McGreevy
11155cf5c3 [svn-r17664] Purpose:
configure cleanup

Description

    1. Removed check that disables shared libraries when pgcc is used. Apparently
       they previously did not work with libtool 1.5.14 and on mir, neither of
       which is in use anymore. Testing on jam and amani appear fine, so this
       check is unnecessary.

    2. Removed check that disables shared C++ libraries when -xarch is used to
       enable 64 bit mode. We now use m64 flag to build 64 bit binaries, so 
       we shouldn't explicitly disable shared C++ libraries if -xarch is 
       discovered.

    3. Removed old configure output summary section from configure.in, since
       we now use the libhdf5.settings file.

    4. Updated powerpc-ibm-aix5.x config file to once again put c99 flag into
       H5_CFLAGS (and thus NOT get into h5cc), as decided in our dev meeting.

Tested:

    h5committest
    full build with pgcc on jam / amani
2009-10-16 15:21:12 -05:00
Larry Knox
26b0d9bde8 [svn-r17661] Add option to specify version for documentation.
Previously added to release in hdfdts, but release script should be part of source code.

Tested:  jam.
2009-10-16 14:07:19 -05:00
Albert Cheng
a861d4914b [svn-r17660] Changed the default fortran compilers from xlf and mpxlf_r to
xlf90 and mpxlf90_r respectively. The fortran 90 compilers support
free format source files. This allows the removal of -k so that
the default compiler command is cleaner.

Tested: AIX Up at LLNL.
(Note: mpxlf90_r does not work but this could have been an undetected
old problem.)
2009-10-15 19:17:44 -05:00
Larry Knox
62521fcb96 [svn-r17656] Added h5_make_local_copy function to address bug 1630, and refactored tests that were discovered to copy data files to avoid writing to data files checked into svn to use the new function.
Tested on amani, jam, and linew with h5committest and on jam with a read only mount of source files on pegdub.
2009-10-15 17:14:10 -05:00
Mike McGreevy
148828d46a [svn-r17655] Purpose:
Configure cache-val cleanup

Description:

    Corrected some misnamed cache values in configure / config files.

Tested:

    h5committest
2009-10-15 16:53:23 -05:00
Elena Pourmal
22e4a9b874 [svn-r17652] Maintenance: fixed a silly typo.
platforms tested: linew
2009-10-15 15:12:05 -05:00
Elena Pourmal
4486bc35bc [svn-r17650] Maintenance: Brought changes back from trunk
Platforms tested: linew (trivial change)
2009-10-15 13:45:17 -05:00
Elena Pourmal
94cb1c465b [svn-r17648] Maintenance: Configure didn't cleanup Fortran module file; fixed.
Platforms tested: jam (trivial change)
Note: Most of the Fortran compilers create module files with "mod" extension.
In the past, I believe,  there were systems (Cray?) that used different 
extensions. We should add those to the current fix when we find them.
2009-10-15 13:13:55 -05:00
Mike McGreevy
dd4360dccf [svn-r17645] Purpose:
Merge from Trunk

Description:

    Merging all of my CFLAGS-related changes from trunk to 1.8

    This includes revision #s: 17616, 17625, 17627, 17639, and 17643.

Tested:

    h5committest and some additional checks on our FreeBSD as well 
    as NCSA's machines.
2009-10-15 12:08:41 -05:00
Quincey Koziol
2a2a49f422 [svn-r17638] Description:
Bring r17624 from trunk to 1.8 branch:

	Don't allow reads to change or add to the metadata accumulator, since
they might be speculative and could bring raw data into the metadata
accumulator.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
               w/C++ & FORTRAN, w/threadsafe, in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.1 (amazon) in debug mode
       Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2009-10-13 10:28:42 -05:00
Elena Pourmal
eb8838be0b [svn-r17637] Maintenance: Brought changes back from the trunk.
Platforms tested: pahra with ifort, g95 and gfortran.
2009-10-12 23:58:27 -05:00
Albert Cheng
5237ffce52 [svn-r17633] Bug 1192:
Added EXIT_SUCEESS and EXIT_FAILURE macro values test.

Tested:
h5committested.
2009-10-12 22:18:55 -05:00
Allen Byrne
d3aa5c967e [svn-r17632] Removed vnet assignments and allow default /vs8 and /ivf91 on command line.
Tested: windows
2009-10-12 15:27:04 -05:00
Peter Cao
ceddabad65 [svn-r17620] Add comments about h5diff changes 2009-10-08 14:47:25 -05:00
Albert Cheng
6f6a2c726d [svn-r17614] Updated with H5Pget_preserve fix information. 2009-10-08 09:10:15 -05:00
Albert Cheng
be6691b33d [svn-r17610] Bug fix (ID 1628):
There was a typo in the H5Pget_preserve that it was returning the wrong value.
Fixed. Also added a test in test/cmpd_dset.c to verify the correctness of
H5Pset_preserve and H5Pget_preserve.

Tested:
h5committest plus jam serial.
2009-10-07 19:17:11 -05:00
Albert Cheng
de76999134 [svn-r17607] ode Cleanup:
TFLOPS machine has retired long ago. Removed all code specific for its
support.

Test:
h5committested.
2009-10-07 00:31:49 -05:00
Quincey Koziol
190e10b63d [svn-r17605] Description:
Bring r17604 from trunk to 1.8 branch:

	Correctly invoke generic property list class callbacks all the way to
the root of the class hierarchy.

Tested on:
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
	(h5committested on trunk)
2009-10-06 22:18:59 -05:00
Albert Cheng
98658b074e [svn-r17602] Bug fix:
The ph5diff tests printout incorrectly reporting they are running
h5diff when it actually is running ph5diff.
Fixed.

Tested: Jam (parallel), linew (serial)
No H5committest since it is a shell script and Jam tests both
serial and parallel h5diff for Linux while Linew tests Big
endian platform.
2009-10-06 17:05:15 -05:00
Quincey Koziol
ba0858ab7a [svn-r17600] Description:
Bring r17599 from trunk to 1.8 branch:

	Minor code cleanups, based on cleanups in the compress_group_fheap
branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-10-06 14:20:59 -05:00
Albert Cheng
b733be9eec [svn-r17593] Bug fix:
Release would leave behind an Makefile even if it did not exist before.

Fixed by restoring only the pre-existed Makefile.

Tested: Jam.
2009-10-05 19:08:34 -05:00
Binh-Minh Ribler
a7cf6ea11a [svn-r17588] Purpose:
Fixed bugzilla #1061
Description:
    Added a check for NULL before accessing a pointer
    Also, removed a few warnings about returning values
Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2009-10-04 00:27:26 -05:00
Neil Fortner
c26ed138a6 [svn-r17586] Purpose: Fix bug 1597
Description:
When copying a dataset  using a vlen inside a compound, the various dataset
copying callbacks would allocate a background buffer but would not use it when
converting from disk to memory, only memory to disk.  This caused an assertion
failure as compounds always need a background buffer.  These callbacks have
been modified to use the background buffer for both conversions.

Tested: jam, linew, smirom (h5committest)
2009-10-02 15:54:51 -05:00
Albert Cheng
e8e9b163c3 [svn-r17579] added testlibinfo.sh testcheck_version.sh to be distcleaned.
Test: Jam.
2009-10-01 16:51:57 -05:00
Albert Cheng
7a607d519a [svn-r17577] Simple improvement to clean up go during "make check-clean"
and removed the redundant cleaning of Makefile.

Tested: jam parallel.
2009-10-01 16:45:56 -05:00
Quincey Koziol
47c9464d5d [svn-r17574] Description:
Bring r17573 from trunk to 1.8 branch:

	Fix several errors in code, which was not compiling... :-(

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-10-01 15:09:08 -05:00
Mike McGreevy
dbb2eadcaa [svn-r17572] Purpose:
Makefile Bug Fix

Description:

    Added $(EXEEXT) extension to H5detect when it's executed to generate
    H5Tinit.c so it works correctly on platforms that require the full
    extension when running executables.

Tested:

    h5committest, mingw, and user-verified (via submitted patch).
2009-10-01 14:52:37 -05:00
Mike McGreevy
11f088a44c [svn-r17568] Purpose:
Configure Fix

Description:

    Modified configure to set FC and CXX to "no" when fortran and c++ are
    not being compiled, respectively. This will prevent configure from running
    some checks on these compilers when they are not being used.

    This fixes a problem that was occuring when FC and/or CXX are set to
    a nonexistant or invalid compiler. Even if the languages were disabled,
    a libtool test would fail, thus preventing libtool from properly linking
    any libraries, yet configure would not flag an error message due to this
    because the languages were disabled.

Tested:

    - h5committest (jam, smirom, linew)
    - manually eyeballed configure output and logfile.
2009-10-01 12:06:48 -05:00
Allen Byrne
fbf7f470e2 [svn-r17565] Fix for Bug 1562. H5DS.c checked for other locations which need to account for platform dependent types in dealing with ds_list_t. Added generator program for test files of LE and BE dimension scales.
Tested: local linux, h5committest
2009-10-01 08:55:43 -05:00
Albert Cheng
d495a52fdd [svn-r17564] Fixed a syntax error that generates a file named 0.
Tested:
Jam as it is simple shell script change.
2009-09-30 22:46:05 -05:00
Allen Byrne
d98c4cb0e5 [svn-r17561] Fixed srcdir problem. Other fixes after complete testing.
Tested: h5committest - just smirom
2009-09-30 16:28:13 -05:00
Quincey Koziol
8746367121 [svn-r17556] Description:
Correct compile warnings and rename fiels to match the rest of the
test files in this directory.

	Note: this is currently failing for srcdir builds!

Tested on:
	FreeBSD/32 6.3 (duty)
2009-09-29 17:02:25 -05:00
Quincey Koziol
e3101ecc46 [svn-r17555] Description:
Bring r17553 from trunk to 1.8 branch:

	Bring general fixes/improvements from file_free_space branch back to
trunk.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                               in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.5.8 (amazon) in debug mode
       Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                               in production mode
2009-09-29 16:53:19 -05:00
Allen Byrne
89404acc45 [svn-r17554] Fix for Bug 1562. H5DSis_attached needed to account for platform dependent types. Added test and test files for LE and BE dimension scales. Reworked part of test_ds file as part of debug.
Added missing H5Tclose in region reference routines.

Tested: local linux, smirom, linew
2009-09-29 15:18:22 -05:00
Albert Cheng
0ead3e8873 [svn-r17548] ------------------------------------------------------------------------
r17543 | acheng | 2009-09-28 23:43:22 -0500 (Mon, 28 Sep 2009) | 8 lines

New test: (Bug ID 1656):
Add new tests (tcheck_version, testcheck_version.sh) to verify H5check_version()
does issue warnings and abort accordingly.
Changed H5check_version() to suppress the warning message totally if
$HDF5_DISABLE_VERSION_CHECK is 2 or higher. (Old behavior treated 3 or higher
the same as 1, that is to print a warning and allows the program to continue.

Tests:
H5committed tested plus jam serial tested.
2009-09-29 11:45:07 -05:00
Larry Knox
0fa14048c2 [svn-r17540] Snapshot version 1.8 release 3 (snap12) 2009-09-27 17:06:09 -05:00
Neil Fortner
858c8af18f [svn-r17536] Purpose: Fix bug 1620
Description:
H5Ppublic.h listed H5Pget_filter_by_id1 and H5Pget_filter_by_id2 as returning
H5Z_filter_t, when in fact they return herr_t.  The header file has been
corrected to indicate that they return herr_t.

Tested: jam
2009-09-25 14:15:58 -05:00
Neil Fortner
ca0268116e [svn-r17533] Add note to RELEASE.txt for changes in r17531 2009-09-25 14:06:52 -05:00
Neil Fortner
a2faf5621f [svn-r17531] Purpose: Fix bug 1555
Description:
At several places in H5Pint.c properties were being compared using memcmp, not
using the registered "cmp" callback.  This could cause memory checkers to
report uninitialized memory errors, and could conceivably cause runtime errors
if memcmp reported false equality (for example if a value pointed to by the
property changed).

The code has been changed to always use the cmp callback.  Tests have been added that check this in all the places that previously used memcmp.

Tested: jam, linew, smirom (h5committest)
2009-09-25 13:11:40 -05:00
Quincey Koziol
51d3e9b173 [svn-r17527] Description:
Bring r17524 from trunk to 1.8 branch:

    Switch to using system call wrapper macros instead of "raw" system calls.

Tested on:
    Mac OS X/32 10.5.8 (amazon) w/debug & production
    (too minor to require h5committest)
2009-09-24 18:30:08 -05:00
Quincey Koziol
9726d77e95 [svn-r17526] Description:
Add backward compatibility test to make certain that the 1.8 library
handles encountering a file with a fixed array chunk index gracefully.

Tested on:
        FreeBSD/32 6.3 (duty) w/production
        (too minor to require h5committest)
2009-09-24 18:26:23 -05:00
Scot Breitenfeld
a52d213b55 [svn-r17519] Description:
Merged changes in the trunk/fortran to 1.8.

svn merge -r 17485:17517 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Brings bugfixes into 1.8 for:

Bug [1471] -  H5Tset_order_f missing constant option H5T_ORDER_NONE


Tested: smirom (ifort)
        smirom (pgi)
2009-09-24 15:43:03 -05:00
Raymond Lu
73f24a8ed0 [svn-r17517] In the function test_rw_noupdate, I added a test with the system functions to make
sure the stat function behaves as we expected.  This test is skipped on some system because 
the modification time from stat is the same as the last access time (We know OpenVMS behaves 
in this way).

Tested on jam.  I've tested the same change for the trunk on jam, smirom, and linew.  
My account for OpenVMS expired.  I'll test it once I have it back.
2009-09-24 14:24:48 -05:00
Larry Knox
e46380bfb6 [svn-r17509] Move misplaced ')' after make uninstall command so 'du -ks' command is run in test directory instead of running in snapshot directory. Snapshot directory has many more subdirectories and is often remote, increasing test running time and reporting incorrect disk usage.
Tested on smirom in hdfdts version.
2009-09-22 14:40:13 -05:00
Albert Cheng
40d2c29786 [svn-r17504] Bug fix:
Test failed with libhdf5.so not found in MacOS which uses a different
suffix (*.dylib) for shared lib.

Solution:
Added code to setup shared lib file suffix according to OS types.

Tested:
Tejeda, jam, linew.
2009-09-22 11:17:55 -05:00
Larry Knox
bb660b670b [svn-r17501] Snapshot version 1.8 release 3 (snap11) 2009-09-20 16:02:59 -05:00
Albert Cheng
ef2aa6be0b [svn-r17500] Bug fix and improvement.
Description:
Build failed when embedded-info is not enabled. Fixed.
testlibinfo.sh output was ugly, did not prepare the case of embedded-info
not enabled. Fixed.  Also changed NOT to test test binary even if static-exec
is enabled.

Tested:
jam (with and without embedded-info enabled).  Did not test in other
platforms since these were script changes that are platform independent.
2009-09-19 18:55:44 -05:00
Albert Cheng
3a83be48fb [svn-r17499] Purpose:
Stage 2 implementation of embedded library information feature.

H5.c: added code to print the embedded library information when there is
a library versions mis-match occurs. This ensures the library information
string is included in the executable.
Also modifies the code so that the Library mismatch warning string is
included only once in the executable.

H5private.h:
Added a global reference to the libinfo string variable to prepare
for possible stage 3 implementation of a public API.

test/testlibinfo.sh.in:
A new test added to verify the library information is indeed included
in the executables.

configure.in:
configure:
Added entry to auto-generate test/testlibinfo.sh.

H5detect.c:
Modified the libhdf5settings generating code to allow it to insert the
strings to a file other than stdout.  This maybe needed in stage 3
implementation.

MANIFEST:
updated with the newly added file of testlibinfo.sh.in.

Tested:
h5committest passed. Also passed jam in serial mode.
2009-09-18 13:34:37 -05:00
Allen Byrne
8664cb26c3 [svn-r17497] Corrected location of talign.c in project files.
Tested: Windows
2009-09-18 09:24:56 -05:00
Allen Byrne
2b1e09bc97 [svn-r17495] Updated to include new h5dump region reference tests. Also added missing display buffer resize test. 2009-09-17 15:59:34 -05:00
Allen Byrne
c44c9feb35 [svn-r17493] Bring changes from trunk to tools lib, h5dump and error handling.
Tested: h5committest, local linux
2009-09-17 15:37:09 -05:00
Raymond Lu
f4d69b78e5 [svn-r17490] Skip the test in the function test_rw_noupdate() for OpenVMS because the modification time
returned from the system function stat is the same as the last access time, making it 
impossible to test whether the file is modified.

Tested on jam for the same change in the trunk - simple change.
2009-09-17 14:27:18 -05:00
Scot Breitenfeld
c0bb2c979b [svn-r17486] Description:
Merged changes in the trunk/fortran to 1.8.

svn merge -r 17222:17485 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Brings bugfixes into 1.8 for:

Bug [1652] h5lget_info_by_idx_f missing/broken functionality
and 
Bug [1653] H5_LINK_* values defined in H5f90global.f90 are incorrect

Tested: jam (ifort)
        smirom (gfortran)
        linew (f90)
2009-09-17 12:03:42 -05:00
Raymond Lu
7dc63bdf27 [svn-r17481] Added H5Fsuper_cache.c to the make.com.
Not tested yet.
2009-09-15 13:57:14 -05:00
Larry Knox
8185461991 [svn-r17472] Snapshot version 1.8 release 3 (snap10) 2009-09-13 15:49:59 -05:00
Allen Byrne
4faad745e8 [svn-r17469] Update windows batch file to match the testh5diff.sh script change in rev 17467.
Tested: windows
2009-09-11 16:40:23 -05:00
Allen Byrne
885e92cba8 [svn-r17468] Corrected use of _Debug preprocessor value in release configurations of hdf5_f90cstubdll.vcproj
Removed extraneous configurations attached to files in libtest project files.
Corrected examples project file's debug configuration.
2009-09-11 15:44:41 -05:00
Peter Cao
aeec66cf49 [svn-r17467] " Use strict equality as default
"   Use "--use-system-epsilon" for system EPSILON
"   Use "-p" or "-d" for whatever user's choice of epsilon
"   Use "-p 0" or "-d 0" for strict equality (same as default)
2009-09-11 15:15:22 -05:00
Quincey Koziol
258d4b3835 [svn-r17464] Description:
Bring r17463 from trunk to 1.8 branch:

   Add another regression test for userblock+alignment usage, and correct
[another] issue with the combination. *sigh*

Tested on:
   FreeBSD/32 6.3 (duty) in debug mode
   (h5committested on trunk)
2009-09-11 08:27:04 -05:00
Quincey Koziol
0b3fbf9089 [svn-r17462] Description:
Bring r17461 from trunk to 1.8 branch:

Fix a few more problems when the user block is not aligned properly.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-09-10 14:33:12 -05:00
Quincey Koziol
d5c3626181 [svn-r17460] Description:
Bring r17459 from trunk to v1.8 branch:

	Correct bad interaction between non-zero userblocks with non-zero
alignments.

	Also add some additional range checking and tests for invalid userblock
sizes.

Tested on:
   FreeBSD/32 6.3 (duty) in debug mode
   (h5committested on trunk)
2009-09-08 16:16:31 -05:00
Larry Knox
ef70e57999 [svn-r17453] Snapshot version 1.8 release 3 (snap9) 2009-09-06 15:50:18 -05:00
Mike McGreevy
c7be102c70 [svn-r17448] Purpose:
Script Update

Description:

    Updated autoconf version in bin/chkconfigure script to 2.64
2009-09-03 13:40:20 -05:00
Mike McGreevy
3c0de7fb0c [svn-r17441] Purpose:
Merge from trunk

Description:

    Merged revisions 17228 and 17440 from trunk to 1.8

    Specifically, this brings support of --enable-static-exec flag into 1.8

Tested:

    Manually on jam, linew, smirom, liberty, plus h5committest.

    Currently, there is no automatic regression test that exists due to
    portability issues. Behavior is both different and undefined on certain
    systems (and while 'nm' command seems to exist on all machines, behavior
    is confirmed to be different on Mac, possibly others). Solution will be 
    to set up some sort of framework in daily tests to build statically, 
    remove shared paths, and verify executables can function.
2009-08-31 13:38:17 -05:00
Mike McGreevy
ee3ed7a67f [svn-r17439] Purpose:
Updating autotools

Description:

    Bring revisions 17345 and 17357 from trunk to 1.8, specifically:

    - Automake upgraded to 1.11
    - Autoconf upgraded to 2.64
    - bin/reconfigure script edited to use new versions (on jam), and
      run to generate new configure script and Makefile.in's.
    - configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
      (in order to comply with new autoconf standard).
    - bin/install-sh script replaced with new version as provided
      by automake.

Tested:

    - All issues on trunk were resolved, so only tested on jam and linew. Any
      other outliers should be caught by daily tests.
2009-08-31 10:28:10 -05:00
Larry Knox
4f9b08427b [svn-r17437] Snapshot version 1.8 release 3 (snap8) 2009-08-30 16:45:54 -05:00
Quincey Koziol
5d795c0260 [svn-r17433] Description:
Bring r17432 from trunk to 1.8 branch:

        Simplify dataspace cleanup code.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-08-27 14:46:11 -05:00
Quincey Koziol
39641369fe [svn-r17431] Description:
Bring r17429 from trunk to 1.8 branch:

Remove unnecessary v2 B-tree 'retrieve' callback from v2 B-tree clients.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-27 12:03:12 -05:00
Elena Pourmal
0595d6b912 [svn-r17419] Maintenance: Restored the content of the file. Checked that file
is modified correctly by bin/h5vers and bin/release scripts.
2009-08-25 11:32:22 -05:00
Quincey Koziol
b6494f0fc9 [svn-r17415] Description:
Bring r17408, 17411, 17412, 17413 & 17414 from trunk back to 1.8 branch:

r17408:
	Move flush operation on mounted file hierarchy into H5Fmount module.

r17411:
	Make H5AC_flush just flush the cache and make H5AC_dest perform the
proper parallel synchronization before destroying the cache.  Also, further
discriminate between 'closing' and 'non-closing' actions in H5F_flush.

r17412:
	Seperate 'flush' functionality from 'destroy' functionality at the
H5F level also.

r17413:
	Remove vestigial intermediate routine for flushing file and move it
into API routine.  Also, remove private, unused (now) 'H5F_FLUSH_DOWN' symbol
from public header file.

r17414:
	Flush the core VFD's buffer before closing the file, also flush the
metadata accumulator before reseting it.  Write the driver info message out
in the superblock flush routine more directly, instead of using wrapper
routine, since the wrapper routine won't work when the superblock is being
shutdown.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-24 14:09:36 -05:00
Larry Knox
81e3eef99a [svn-r17410] Snapshot version 1.8 release 3 (snap7) 2009-08-23 18:37:12 -05:00
Raymond Lu
b328dbbc31 [svn-r17406] I added a condition check for the conversion from unsigned to float. When the configure
detects the conversion working, a macro is set.  If there's problem with this conversion like
Pathscale compiler, skip the test.

Tested on jam.  Need to verify it on pathscale machine.
2009-08-21 14:00:38 -05:00
Quincey Koziol
d96910fe93 [svn-r17404] Description:
Bring r17402 & r17403 from trunk to 1.8 branch:

r17402:
    Switch from using a 'flags' parameter to the flush routine(s), to just
using a single 'closing' boolean parameter, since that's all we're doing with
the flags anyway and this makes things more obvious.

r17403:
    Eliminate 'closing' flag to dataset flush routine, since all cached
dataset information has already been flushed when a file is closed and the
datasets themselves will be closed (and the dataset caches destroyed).

    Skip calling more flush routines when the file is closing, in preparation
for eventual separation of the 'flush' concept from the 'shutdown the cache'
concept.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-21 06:33:44 -05:00
Quincey Koziol
9316a67a89 [svn-r17401] Description:
Bring r17400 from trunk to 1.8 branch:

	Refactor H5F_flush into two routines, one which handles the recursion/
iteration necessary to handle mounted files; and one which just handles the
flush operation for a single file.

	Also, remove H5F_FLUSH_INVALIDATE and switch all code to depend on
H5F_FLUSH_CLOSING.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-08-20 22:22:38 -05:00
Quincey Koziol
6ee76fffc7 [svn-r17399] Description:
Bring r17393 and r17398 from trunk to 1.8 branch:

Bring back more changes from the file free space branch to the trunk. (17393)

First set of changes to move VFD 'truncate' call out of H5F_flush and defer
it until the file is closed. (17398)

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-08-20 16:54:04 -05:00
Raymond Lu
d96442aae5 [svn-r17396] Added a comment to explain what "dst" and "ans" are when errors happen.
Tested on jam - simple change.
2009-08-20 14:36:21 -05:00
Quincey Koziol
5fc9bd9a5e [svn-r17395] Description:
Update release notes with note about fixing Bz#1473.
2009-08-20 14:18:07 -05:00
Quincey Koziol
7a91bd45d4 [svn-r17389] Description:
Bring r17388 from trunk to 1.8 branch:

	Correct error in freespace test which was relying on free space section
to be valid after the library had taken ownership of it (and therefore could
free it).

	Also correct some checking for return values of H5FS internal routines

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-19 21:05:49 -05:00
Raymond Lu
91e6f1e04d [svn-r17387] I added a detection for the correctness of converting from unsigned long to float in the
configure.in.  The Pathscale compiler on Sandia's Linux machine misinterprets the values of 
unsigned long as negative during the conversion to float, when the first bit of unsigned long
is on.  

Tested on jam.  Need to test it on Sandia's machine.
2009-08-19 16:57:12 -05:00
Raymond Lu
d1ee62c915 [svn-r17386] Added some comments.
No test needed.
2009-08-19 16:46:46 -05:00
Raymond Lu
24b03e3472 [svn-r17384] Corrected the path.
Not tested yet.
2009-08-19 16:36:23 -05:00
Allen Byrne
05fb67f75d [svn-r17383] Added UNC external links tests for windows only.
Tested: windows
2009-08-19 08:50:46 -05:00
Quincey Koziol
d5dfe34e0a [svn-r17380] Description:
Bring r17376 from trunk to 1.8 branch:

	Make similar change to windows VFD as sec2 VFD, when converting from
a family file to a single file.

	Tweak file sizes expected for parallel tests.

Tested on:
	FreeBSD/32 6.3 (duty) w/debug
	(h5committested on trunk)
2009-08-18 17:29:03 -05:00
Allen Byrne
4b160dd890 [svn-r17378] Added new file to library project file, H5Fsuper_cache.c.
Cleaned project files of extraneous project info that should not have been used. The info was removed from individual files.

Tested: windows
2009-08-18 16:32:16 -05:00
Allen Byrne
05f36e2be8 [svn-r17375] Added Windows version of HDsleep macro needed for a test in test/tfile.c.
Tested: windows
2009-08-18 15:14:41 -05:00
Quincey Koziol
ebde7af78a [svn-r17374] Description:
Bring r17365 from trunk to 1.8 branch:

	Final merge of changes from sblock_mdc branch back to trunk.  The
superblock is now managed by the metadata cache.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-18 13:25:49 -05:00
Allen Byrne
339471fe0d [svn-r17370] Added h5dump/h5ls display buffer resize fixed in tools library. 2009-08-17 09:22:07 -05:00
Larry Knox
b1c3c4abe3 [svn-r17368] Snapshot version 1.8 release 3 (snap6) 2009-08-16 17:06:45 -05:00
Quincey Koziol
d47fb4b752 [svn-r17359] Description:
Bring r17336 from trunk to 1.8 branch:

	Bring more changes from the file_free_space branch into the trunk.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committested on trunk)
2009-08-14 10:42:11 -05:00
Quincey Koziol
92b37616d2 [svn-r17354] Description:
Bring r17351 from trunk to 1.8 branch:

	Clean up code (to align w/future sblock_mdc branch changes), tweak
tests for [slightly] easier debugging, fix memory leak when copying chunked
datasets with I/O filters, fix memory leak of free space section when it was
exactly the right size to use for extending an existing block in the file.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-13 14:17:29 -05:00
Raymond Lu
5e435bd8ac [svn-r17350] I added the simple test for h5jam and the build for h5repart.
Not tested yet.
2009-08-13 11:11:33 -05:00
Quincey Koziol
1db993a271 [svn-r17342] Description:
Bring r17341 from trunk to 1.8 branch:

        Tweaks to comments, to better align with changes on sblock_mdc branch

Tested on:
        Just eyeballed, only tweaks to comments
2009-08-11 23:10:00 -05:00
Larry Knox
6a72ec80e5 [svn-r17339] Snapshot version 1.8 release 3 (snap5) 2009-08-11 21:27:55 -05:00
Quincey Koziol
5f9e36528c [svn-r17332] Description:
Bring r17331 from trunk to 1.8 branch:

	Bring back more changes from file free space branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-11 15:43:22 -05:00
Albert Cheng
37cea8f1b6 [svn-r17327] Added the recognization of PathScale compilers. Also added the known
problem of PathScale MPI failure when accessing a Panasas file system.
2009-08-11 15:13:01 -05:00
Quincey Koziol
35fc6fe082 [svn-r17325] Description:
Bring r17324 from trunk to 1.8 branch:

	Bring more improvements/changes back from file_free_space branch

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-11 12:28:42 -05:00
Quincey Koziol
445fec27e1 [svn-r17320] Description:
Bring r17319 from trunk to 1.8 branch:

	Bring more superblock manipulation & aggregator changes from file free
space branch.

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
	(h5committest performed on trunk)
2009-08-11 08:03:13 -05:00
Albert Cheng
5aa72127e6 [svn-r17317] Did some code cleanup.
t_file.c: replace the old variable, color, with a more meaningfule name of
    is_old.
t_mpi.c: use the official mpi_file_delete, instead of remove, to delete a file
    in MPI environment.

Tested:
Only jam in parallel as changes are trivial.
2009-08-11 05:34:58 -05:00
Quincey Koziol
908ce6d721 [svn-r17314] Description:
Bring r17313 from trunk to 1.8 branch:
	Bring back various minor code cleanups from the file free space branch

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                               in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.5.8 (amazon) in debug mode
       Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                               in production mode
2009-08-10 13:02:57 -05:00
Quincey Koziol
db134c8627 [svn-r17303] Description:
Bring r17302 from trunk to 1.8 branch:

    Correct errors on machines (like Windows) that don't have C99 named
initializer support.

Tested on:
    Mac OS X/32 10.5.7 (duty)
    Windows build (by Allen)
2009-08-04 17:56:24 -05:00
Allen Byrne
0a2d67ebdf [svn-r17298] Specified HDTarray_create and HDCreate as HDTarray_create2 and HDCreate2 in gent_array8 function as was done in other gent_arrayX functions. Fixes 1.6 compatibility mode argument errors.
Tested: linux
2009-08-04 08:59:33 -05:00
Albert Cheng
ab23b45259 [svn-r17294] Updated for newly added files.
Tested by bin/chkmanifest.
2009-08-01 16:30:06 -05:00
Allen Byrne
1cbd7b4fd7 [svn-r17290] Added test targeted for bug 1520, which was fixed last week. The test generates an array datatype of ints larger than the display buffer. The bug was exposed when the buffer was reallocated.
Tested: linux
2009-07-31 15:11:51 -05:00
Allen Byrne
6a24df2bb9 [svn-r17288] Added the two infinity tests to the windows batch script to match the linux test script. 2009-07-31 13:27:18 -05:00
Quincey Koziol
3816a02c03 [svn-r17286] Description:
Bring r17284 from trunk to 1.8 branch:

    Remove unneccessary dest. layout information from chunked dataset copying
routine.

Tested on:
    Mac OS X/32 10.5.7 (amazon) debug & production
    h5committested on trunk
2009-07-31 00:09:11 -05:00
Quincey Koziol
92b1407a53 [svn-r17282] Description:
Bring r17281 from trunk to 1.8 branch:

    Further refactoring of the dataset layout information, to separate the
storage information from the layout info.

Tested on:
    Mac OS X/32 10.5.7 (amazon) debug & production
    h5committested on trunk
2009-07-30 22:36:04 -05:00
Quincey Koziol
d96e6789c0 [svn-r17277] Description:
Bring r17275 and r17276 from trunk to 1.8 branch.

Tested on:
    Mac OS X/32 10.5.7 (amazon) w/debug & production
    (too minor to require h5committest)
2009-07-30 13:50:14 -05:00
Quincey Koziol
aaa84b4542 [svn-r17274] Description:
Bring r17272 from trunk to 1.8 branch:

    Finish pushing contiguous storage size from 'layout' into 'storage"
data structure.

Tested on:
    Mac OS X/32 10.5.7 (amazon) w/debug & production
    Too minor to require h5committest
2009-07-29 22:48:44 -05:00
Quincey Koziol
31a7cd56bf [svn-r17271] Description:
Bring r17269 from trunk to 1.8 branch:

    Refactor how serialized size of layout message is computed, slightly.

Tested on:
    Mac OS X/32 10.5.7 (amazon) debug & production
    FreeBSD/32 6.3 (duty) debug
    Too minor to require h5committest
2009-07-29 21:57:12 -05:00
Quincey Koziol
981ba55190 [svn-r17266] Description:
Clean up various compiler warnings from IRIX64 build

Tested on:
    Mac OS X/32 (amazon) debug & production
    (yes, I know it's not an IRIX64 system :-)
    Too minor to require h5committest
2009-07-29 19:17:17 -05:00
Quincey Koziol
03d1221bd8 [svn-r17265] Description:
Bring r17264 from trunk to 1.8 branch:

	Refine how we store the chunk index address in the layout storage
structure.

Tested on:
        FreeBSD/32 6.3 (duty) debug
        Mac OS X/32 10.5.7 (amazon) debug & production
        Too minor to require h5committest
2009-07-29 18:38:26 -05:00
Quincey Koziol
ded93bd0c4 [svn-r17262] Description:
Bring r17261 from trunk to 1.8 branch:

	Refactoring dataset layout information to segregate the constant items
from the variable items (at least from a storage standpoint).

Tested on:
	FreeBSD/32 6.3 (duty)
	(h5committest performed on trunk)
2009-07-29 16:46:32 -05:00
Peter Cao
4dd601ef37 [svn-r17260] add test cases for h5diff 2009-07-29 11:33:23 -05:00
Allen Byrne
c0f91e15c5 [svn-r17258] Added new file, H5Dlayout.c to project files.
Tested XP32 VS2005
2009-07-28 16:40:31 -05:00
Peter Cao
3bbdfcd5f7 [svn-r17255] Fixed Bug 1563 - h5diff and Infinity
Added test cases.
2009-07-28 15:08:09 -05:00
Binh-Minh Ribler
0e50d368cd [svn-r17253] Description:
Fixed typos only.

Platforms tested:
    Linux/32 2.6 (jam)
2009-07-28 11:08:37 -05:00
Raymond Lu
c36ee92005 [svn-r17251] Added H5Dlayout.c to the source and updated the test script file for h5import.
Not tested yet.
2009-07-28 10:56:13 -05:00
Quincey Koziol
902de51188 [svn-r17244] Description:
Bring r17243 from trunk to 1.8 branch:

	Refactor how the layout message is created/written/read in the
dataset's object header.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(change h5committested on trunk)
2009-07-27 17:22:39 -05:00
Binh-Minh Ribler
0fb5c9b678 [svn-r17239] Purpose: Fix bug and improve readability
Description:
    - Revised DataSet::write to pass in correct string buffer
    - Added member function DataSet::getInMemDataSize() to simplify
      getting the dataset's data size in memory.
    - Added private functions for reading fixed- and variable-len
      string data: p_read_fixed_len and p_read_variable_len.
    - Added tests to write/read array of strings to datasets.

Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2009-07-27 00:41:46 -05:00
Quincey Koziol
8c1762f8a6 [svn-r17231] Description:
Bring r17230 back from trunk to 1.8 branch:
       Various minor tuneups noticed in working on the revise_chunks branch.

Tested on:
    Mac OS X/32 10.5.7 (amazon) debug & production
    full testing done on trunk before bringing change back.
2009-07-23 16:57:52 -05:00
Raymond Lu
434a6d2f8b [svn-r17229] Disable a test as C script does. 2009-07-23 16:08:17 -05:00
Scot Breitenfeld
254eb548cc [svn-r17223] Merged the fortran trunk into the branch:
svn merge -r 17164:17222 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

tested: smirom (ifort, pgf90, gfortran, g95), linew
2009-07-22 10:28:49 -05:00
Binh-Minh Ribler
b88498636f [svn-r17219] Purpose: Improve readability
Description:
    Divided Attribute::read into specific private functions for fixed-
    and variable-len string data: p_read_fixed_len and p_read_variable_len.

    Added test to write/read array of strings to attributes.

Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2009-07-21 23:12:48 -05:00
Binh-Minh Ribler
3cbb84471a [svn-r17218] Purpose: Improve readability
Description:
    Divided Attribute::read into specific private functions for fixed-
    and variable-len string data: p_read_fixed_len and p_read_variable_len.

    Added test to write/read array of strings to attributes.

Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2009-07-21 23:12:31 -05:00
Albert Cheng
eea0105a54 [svn-r17217] Bug fix (1468)
PathScale was mistaken as the Gcc compiler such that gcc flags were added
to it but PathScale did not honor many of them. (e.g. -Wvariadic-macros,
-Wold-style-definition, -Winit-self, -Wvariadic-macros, -Wmissing-include-dirs,
-Winit-self, -Wc++-compat)

Solution:
Added a pre-condition to detect pathScale compiler before Gcc is
accepted.

Tested:
Sandia Glory where PathScale compiler is available.
2009-07-21 19:06:47 -05:00
Allen Byrne
1bde0ccb95 [svn-r17212] The function h5tools_str_append() incorrectly used the trio of functions: va_start(), HDvsnprintf(), and va_end(). When the boundary of the string buffer was reached and resized, the HDvsnprintf() function recalled without the other two functions in the code loop. This usage exposed bug 1520 by a user.
Tested: linux
2009-07-21 14:45:34 -05:00
Neil Fortner
01c179093f [svn-r17208] Fixed a small bug in the fractal heap code involving filtered fractal heaps.
Tested: jam, linew, smirom (h5committest)
2009-07-21 14:22:17 -05:00
Albert Cheng
cf53b01cb9 [svn-r17200] Changed default Gnu fortran compiler from g95 to gfortran since
gfortran is more likely installed with gcc now.
2009-07-19 18:47:25 -05:00
Albert Cheng
a1b9964716 [svn-r17197] Changed default Gnu fortran compiler from g95 to gfortran since
gfortran is more likely installed with gcc now.

Tested:
jam and amani which covers both linux and linux64.
No h5committest because this is gnu compiler specific, usually
applicable to Linux.
2009-07-19 18:30:33 -05:00
Raymond Lu
5800d12b4e [svn-r17194] Enable h5copy test.
Not tested yet.
2009-07-16 11:14:22 -05:00
Albert Cheng
14adeb6772 [svn-r17186] The ret_value is a (H5A_t *) but FAIL was used. This typo caused a warning
from Linux gcc but resulted in error by AIX xlc compiler.

Solution:
Changed FAIL to NULL.

Tested:
Just compiling in the AIX system.
2009-07-14 19:22:06 -05:00
Raymond Lu
d678c5b596 [svn-r17185] Fixed a typo.
Not tested yet.
2009-07-14 16:39:45 -05:00
Raymond Lu
b9b20ad8f4 [svn-r17183] Fixed and updated the script files.
Not test yet.
2009-07-14 15:46:50 -05:00
Raymond Lu
20fa663053 [svn-r17181] Minor fix - The way that H5Tset_size checks whether the datatype is a string wasn't
correct.  I changed it to use the macro H5T_IS_STRING.

Tested on jam - simple change.
2009-07-14 11:32:20 -05:00
Raymond Lu
8f25819df5 [svn-r17180] In my last round of checkin (r17176), I forgot to clean up some code. I'm checking in
the fix now.

Tested on jam - simple change.
2009-07-14 10:54:25 -05:00
Raymond Lu
71d75b40ee [svn-r17179] I added a test of H5Tencode/decode for variable-length string type. This test is for
the bug fix of #1585 in last round of checkin.

Tested on jam.  I used h5committest for the same change in the trunk.
2009-07-13 14:08:00 -05:00
Raymond Lu
75800cf6b5 [svn-r17176] In H5Odtype.c, the decoding function used to mark the datatype as on disk. I changed it
to undefined and let the caller functions decide the location of the datatype.  For
H5Tdecode, it should mark the datatype as in memory.  For other callers like H5Dopen or
H5Aopen, they should makr it as on disk.

Tested it on jam, smirom, linew.
2009-07-13 10:39:05 -05:00
Larry Knox
b50178ea1a [svn-r17172] Add simple perl script supplied by user to check for duplicate entries in MANIFEST. Duplicate entries will be reported along with any other MANIFEST errors and cause exit value to be 1.
Tested on jam, linew, smirom, and tg-login2.
2009-07-09 11:44:47 -05:00
Scot Breitenfeld
0b861519c5 [svn-r17165] Description:
Removed extra space after !DEC$ to satisfy absoft compiler.

tested: smirom
2009-07-08 09:53:01 -05:00
Larry Knox
259a4bc92a [svn-r17158] Snapshot version 1.8 release 3 (snap4) 2009-07-05 23:30:23 -05:00
Quincey Koziol
27c6981c41 [svn-r17153] Description:
Bring r17152 from trunk to 1.8 branch:

    Clean up some minor formatting and misc. errors noticed while working on
fixed array code merge.

Tested on:
    Mac OS X/32 10.5.7 (amazon)
    Too minor to require h5committest
2009-07-02 19:33:15 -05:00
Quincey Koziol
856a80b949 [svn-r17150] Description:
Bring r17148:17149 from trunk into 1.8 branch:

   Refactor how chunked dataset information is computed, moving it earlier and
avoiding more recomputation.

Tested on:
   FreeBSD/32 6.3 (duty) in debug mode
   FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
   Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
       in debug mode
   Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
       w/C++ & FORTRAN, in production mode
   Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
       w/szip filter, in production mode
   Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
       in production mode
   Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
   Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
   Mac OS X/32 10.5.7 (amazon) in debug mode
   Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
       in production mode
2009-07-02 18:38:38 -05:00
Quincey Koziol
b0df711c3c [svn-r17147] Description:
Bring r17146 from trunk to 1.8 branch:

        Bring a bunch of misc. improvements & tweaks from the revise_chunks
branch back to the trunk, so that future merges won't be so painful.

Tested on:
	FreeBSd/32 6.3 (duty)
	(h5committested on trunk)
2009-07-02 16:17:02 -05:00
Quincey Koziol
55a945c985 [svn-r17139] Description:
Bring r17138 from trunk into 1.8 branch:

    Disable use of temporary file space allocation when using a parallel VFD,
until we've made changes to broadcast the new address of the metadata when it
is relocated down into 'normal' file space.

Tested on:
    Mac OS X/32 10.5.8 (amazon)
    (h5committested on trunk)
2009-07-01 16:26:27 -05:00
Larry Knox
732e64b335 [svn-r17134] Snapshot version 1.8 release 3 (snap3) 2009-07-01 12:13:58 -05:00
Raymond Lu
2d0b2588f6 [svn-r17131] Corrected some typos. No test is needed. 2009-06-30 11:10:00 -05:00
Raymond Lu
2a6efe9e10 [svn-r17127] A revision from last round of checkin (r17124). H5Aopen_name has been deprecated. I
replaced it with H5Aopen in this round.  I also updated some hard-coded numbers with some
macros.

Tested on jam only.  I have tested the same change for the trunk.
2009-06-29 13:24:00 -05:00
Raymond Lu
c0f0e7c419 [svn-r17124] Bug fix #1513. Reading an empty attribute caused seg fault. The flag "initialized" in
the attribute structure wan't set correctly.  It caused some confusion in H5A_read.  This
flag was actually redundant because the library can alwasy check if the data buffer is
present.  To fix it, I removed the "initialized" flag in the attribute structure and let
H5A_read check the data buffer.

I tested it on jam only but have tested the same change for the trunk on jam, smirom, 
and linew.
2009-06-26 15:24:42 -05:00
Neil Fortner
4af1a11dcf [svn-r17121] Add bug number for yesterday's fix. 2009-06-26 14:53:55 -05:00
Albert Cheng
b10f530bdf [svn-r17114] Newer Solaris compiler uses -m64 inplace of -xarch=v9 which is deprecated.
Update the install instruction.

No test needed.
2009-06-26 07:52:13 -05:00
Elena Pourmal
a9733bd0e9 [svn-r17113] Maintenance: Removed duplicated entry from the MANIFEST file. 2009-06-25 16:21:27 -05:00
Neil Fortner
f5fddfb7c1 [svn-r17109] Purpose: Fix bug in H5Z_filter_info
Description:
Previously, when H5Z_filter_info was called for a filter that was not present,
it would succeed and return the information from one position past the end of
the pipeline, possibly causing a segfault.  This affected at least
H5Pget_fitler_by_id1/2, and possibly other API functions.  Fixed to properly
return failure.

Tested: jam, linew, smirom (h5committest)
2009-06-25 13:58:51 -05:00
Allen Byrne
c76a57f557 [svn-r17107] Added new windows build examples batch file 2009-06-25 07:37:09 -05:00
Allen Byrne
1da12c1410 [svn-r17102] Added missing Windows batch file. 2009-06-24 14:36:16 -05:00
Allen Byrne
96e548223d [svn-r17100] Corrected batch file to test C++ examples 2009-06-24 14:00:59 -05:00
Scot Breitenfeld
e9e393a494 [svn-r17086] Description:
Removed debugging print statements.
2009-06-18 14:55:13 -05:00
Quincey Koziol
b1b2c88b2c [svn-r17084] Description:
Bring r17038-17039,17045,17062 from trunk to 1.8 branch:

	Switch fractal heap direct & indirect blocks to use temp. space alloc.

	Improvements to metadata accumulator

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.5.7 (amazon) in debug mode
        Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-06-18 12:49:17 -05:00
Quincey Koziol
b6cfe32b73 [svn-r17083] Description:
Bring r17010,17017,17021-17022,17029-17031,17035 back from trunk:

	"temporary" file allocation space changes.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.5.7 (amazon) in debug mode
        Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-06-18 12:20:50 -05:00
Larry Knox
79a41596f5 [svn-r17082] Disable hanging invalid files test. 2009-06-18 10:33:51 -05:00
Allen Byrne
c75dd8fadc [svn-r17078] Implemented nowrap option (Bug 811) equivalent to h5ls tool. Also updated usage output.
Tested: linux
2009-06-17 13:49:51 -05:00
Pedro Vicente Nunes
86fa22c385 [svn-r17077] merge 17076 from trunk
bug fix: h5repack was not applying a requested contiguous layout for a dataset with filters
added a test to the C program test (not to the script), that verifies the layout and filters

tested: linux
2009-06-17 13:42:23 -05:00
Pedro Vicente Nunes
93a6cd92d7 [svn-r17060] merge 17058 from trunk
added some "dummy" declarations for d_status
tested: linux
2009-06-16 15:44:14 -05:00
Allen Byrne
8be813993f [svn-r17057] Rev 17053 added new test to h5repack test script, which requires that the windows batch file be updated.
Tested: Windows XP32
2009-06-16 13:06:14 -05:00
Allen Byrne
eb668be994 [svn-r17055] Added missing windows vnet project files. 2009-06-16 07:51:43 -05:00
Pedro Vicente Nunes
a44e5df96e [svn-r17053] merge 17052 from trunk
Add a run to the h5repack shell script to read a family file
The file used for input is located in the common source tools for testfiles, in tools/testfiles
Modified the h5repack shell script to read files from this location (h5repack reads its input files from a dedicated testfiles location in h5repack/testfiles)
Changed the h5diff open file call to use h5tools_fopen, so that it can open all file drivers


Tested: linux
2009-06-15 14:25:04 -05:00
Scot Breitenfeld
6ce6f90de8 [svn-r17051] merge changes from the trunk into the branch
svn merge -r 16797:17050 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran


platforms tested: smirom: ifort, icc
2009-06-15 11:56:13 -05:00
Allen Byrne
2c6356db6e [svn-r17050] Added perf_serial project files to Windows vnet folder.
Tested: Windows XP32
2009-06-15 10:22:15 -05:00
Larry Knox
93e72bbde4 [svn-r17048] Snapshot version 1.8 release 3 (snap2) 2009-06-14 16:06:17 -05:00
Allen Byrne
214fce63a9 [svn-r17044] Corrected Windows solution files for branch
Tested: windows
2009-06-12 09:27:05 -05:00
Allen Byrne
da8917ffa3 [svn-r17043] Undo the addition of generated files, mistakenly added by lack of attention. 2009-06-12 08:34:44 -05:00
Allen Byrne
fae180790e [svn-r17042] Updated perf_serial test to work on windows. Bring back from trunk.
Tested:
Windows
2009-06-12 08:30:16 -05:00
Allen Byrne
170b1f6755 [svn-r17041] New perf_serial project files 2009-06-12 08:14:13 -05:00
Allen Byrne
5f7dc72173 [svn-r17037] perf_serial project files added and test added to performance batch file
Tested: XP32 VS2005
2009-06-11 15:53:55 -05:00
Allen Byrne
9f0bec79a2 [svn-r17036] Updated perf_serial test to work on windows. Bring back from trunk.
Tested:
Windows
2009-06-11 15:52:56 -05:00
Neil Fortner
bc2bd03a46 [svn-r17026] Purpose: fix bug 1593
Description:
When using H5T_copy on committed datatypes that are already open, H5T_copy would
properly use the already existing shared struct, but would still deep copy all
of the fields in that struct.  This would cause memory leaks, and in the case of
a compound containing a vlen (or reference), the change in size would cause the
size of the resulting type to be set to an incorrect value.  Changed H5T_copy to
properly avoid deep copies when using a reopened shared struct.

Tested: jam, linew, smirom (h5committest), purify on jam
2009-06-10 14:22:09 -05:00
Scot Breitenfeld
6615339560 [svn-r17023] Description:
Added debug statements in order to investigate intermittent failing of test on honest4 at NCSA, remove after debugging.
2009-06-10 11:03:42 -05:00
Quincey Koziol
7d5ef3e8ad [svn-r17020] Description:
Bring revision 17019 from trunk to 1.8 branch:

	Break out the configure check for fseeko & ftello from lseek64/fseek64/
ftruncate64, since the check for the latter routines is not a valid check for
the former routines.

Tested on:
	(h5committested on trunk)
2009-06-09 15:15:09 -05:00
Larry Knox
745c40b753 [svn-r17013] Snapshot version 1.8 release 3 (snap1) 2009-06-07 16:26:54 -05:00
Quincey Koziol
f4f0c14939 [svn-r17004] Description:
Bring r17002 from trunk to 1.8 branch:

        Rename H5O_protect/H5O_unprotect to be H5O_pin/H5O_unpin, since that's
    what that are actually doing.

        Add counter of the number of times the object header is pinned, to allow
    H5O_pin/H5O_unpin to be called reentrantly.

Tested on:
    Mac OS X/32 10.5.7 (amazon) w/debug & prod
    h5committest already run for trunk version of change
2009-06-04 10:31:50 -05:00
Pedro Vicente Nunes
af7d1c4cd4 [svn-r16999] merge 16991 from trunk
change messages of -c option 
tested: windows, linux
2009-06-03 08:57:17 -05:00
Larry Knox
95bd7eac47 [svn-r16993] Snapshot version 1.8 release 3 (snap0) 2009-06-01 12:53:19 -05:00
Quincey Koziol
6bd725cec3 [svn-r16987] Description:
Bring r16986 from trunk to 1.8 branch:
        Clean up formatting & error reporting.

Tested on:
    Mac OS X/32 10.5.7 (amazon)
    (h5committest done on trunk)
2009-05-27 13:30:22 -05:00
Quincey Koziol
4f4902d083 [svn-r16974] Description:
Bring r16973 back from trunk to 1.8 branch:

	 Refactor chunk cache entry information to remove some [actually] unused
fields.

Tested on:
	<tested on trunk>
2009-05-21 13:56:59 -05:00
Pedro Vicente Nunes
fa656be59d [svn-r16965] merge 16964 from trunk
bug fix: the phrase "Not comparable" was not being printed for the case of different classes
tested: windows, linux
2009-05-20 09:23:23 -05:00
Allen Byrne
1ad6816d15 [svn-r16953] corrected name of zlib in Section IV, part 3, step 2
Tested: windows
2009-05-15 10:20:24 -05:00
Pedro Vicente Nunes
0423a2ce6e [svn-r16948] merge 16947
#1522 (B1) h5ltread_dataset_string_f error with g95
ISSUE: h5ltread_dataset_string_f causes library assertion with g95. 
SOLUTION: convert the fortran string buffer to a C buffer with HD5f2cstring, and pass this string to the C function
TEST: added a test call in the fortran test lite program
DOCS: added the note in RELEASE.txt "- Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions had memory problems with the g95 fortran compiler. (PVN - 5/13/2009) 1522
tested: linux g95, windows fortran intel 11
2009-05-13 14:29:07 -05:00
Pedro Vicente Nunes
8e0bce9dab [svn-r16946] merge 16945 from trunk
bug fix. call free on a string allocated by HD5f2cstring
tested: linux, windows
2009-05-13 11:46:21 -05:00
Mike McGreevy
58cda2617e [svn-r16939] Purpose:
Modifying default cache configuration, and adding an #ifdef to allow for a
    separate default configuration when parallel is enabled. This is being
    modified in order to address an observed performance problem with the
    current default configuration.

Description of Changes:

    - increasing maximum cache size from 16MB to 32MB
    - increasing maximum entry size from 10MB to 32MB
    - decreasing min_clean_fraction from 0.3 to 0.01 in serial case
    - increasing flash_multiple from 1.0 to 1.4 in serial case

Tested:

    jam
2009-05-12 17:07:41 -05:00
Albert Cheng
985b323bd4 [svn-r16929] Bug 948:
Skipped the test of
     TESTING $H5DIFF -v $SRCFILE9 $SRCFILE10
     TOOLTEST h5diff_100.txt -v $FILE9 $FILE10 
again because they still hanged.
Do not turn it back on until it is proven fixed.
Also, want to verify if this is the only tests that hang or
if other tests may hang or if any non-thg machines may hang.

Tested:
jam-pp since it is a simple shell-script change.
2009-05-08 10:03:27 -05:00
Raymond Lu
a1b11b8d47 [svn-r16922] Allow an error class to use other class's major or minor errors. Added a test for it, too.
Tested on jam - simple change. I've tested it for the trunk.
2009-05-05 13:57:43 -05:00
Quincey Koziol
548eec3070 [svn-r16920] Description:
Merge these trunk revisions which occurred during the 1.8.3 release code
freeze back to the 1.8 branch:

    From Quincey: 16845 16847 16849 16851 16858 16869 16897

    From Ray: 16859 16880

    From Allen: 16863

Tested on:
    FreeBSD/32 6.3 (duty) in debug mode
    FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
    Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
        in debug mode
    Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
        w/C++ & FORTRAN, in production mode
    Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
        w/szip filter, in production mode
    Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
        in production mode
    Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
    Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
    Mac OS X/32 10.5.6 (amazon) in debug mode
    Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2009-05-05 10:05:17 -05:00
Elena Pourmal
4ffc0b6acb [svn-r16917] Maintenance: Changed suffix in the version number to snap0. 2009-05-04 10:11:23 -05:00
Elena Pourmal
de44d9e363 [svn-r16916] Maintenance: Updated HISTORY-1_8.txt and RELEASE.txt files and
changed version to 1.8.0-post0.
	     Branch is open for check-ins now.
2009-05-04 09:45:37 -05:00
Elena Pourmal
e0e4a816e6 [svn-r16912] Maintenance: Checking in files created by the bin/release script before
tagging the rlease.
2009-05-04 09:20:30 -05:00
Larry Knox
46e76fa793 [svn-r16911] Updated Supported Configuration Features Summary 2009-05-02 15:08:41 -05:00
Raymond Lu
46b4f969e3 [svn-r16910] Update for the 1.8.3 release. 2009-05-01 16:57:56 -05:00
Raymond Lu
1641a4d208 [svn-r16909] I took out the 'install' command from build.com and enabled the 'copy' command for the
C, Fortran, and C++ examples.

Tested on OpenVMS.
2009-05-01 16:42:50 -05:00
Albert Cheng
f8428adce3 [svn-r16906] Updated with SNL and LLNL tested platforms information. 2009-05-01 12:45:56 -05:00
Larry Knox
d2b8738012 [svn-r16905] Update Platforms Tested and Supported Configuration Features Summary. 2009-05-01 11:51:02 -05:00
Raymond Lu
0662a78de6 [svn-r16904] There're 3 changes in this checkin:
1. I added 'install' command in end of build.com.
  2. I commented out the test for h5copy and h5import in build.com.  There're some 
     failures in the test.  I recall h5import has been having problem for some time.  
     h5copy test is new.  I need to verify with Elena.
  3. I commented out the copy command for *.com in the examples directory because they
     don't exist.

Tested on OpenVMS.
2009-05-01 11:20:41 -05:00
Albert Cheng
9c36eb7c88 [svn-r16903] updated with new feature of embedded libhdf5.settings and the known problem
of imposing -O0 on gcc v4.3 and v4.4.
2009-05-01 09:10:46 -05:00
Frank Baker
6f68d45ef1 [svn-r16894] Description:
Formatting pass.
2009-04-29 15:43:13 -05:00
Albert Cheng
235d4f439b [svn-r16893] Set version information to 1.8.3 to be ready for release.
Tested: h5committest plus jam serial test.
2009-04-29 15:08:52 -05:00
Christian Chilan
0b8356c806 [svn-r16887] Update to include modification to the parallel tests. 2009-04-29 01:45:27 -05:00
Larry Knox
0b43e7cac0 [svn-r16884] Update for 1.8.3 release. 2009-04-28 17:48:03 -05:00
Mike McGreevy
96e9cae136 [svn-r16870] Description:
Updating RELEASE.txt file.

Tested:

    None needed.
2009-04-28 12:04:32 -05:00
Elena Pourmal
beac92a9c4 [svn-r16866] Maintenance: Update file in preparation for the HDF5-1.8.3 release
Update information for Mac Intel 10.5.6.
2009-04-27 21:12:42 -05:00
Allen Byrne
0558c3a8b6 [svn-r16864] corrected include path of h5tools.h
Tested:
   XP32-VNET
2009-04-27 11:29:50 -05:00
Allen Byrne
853bfa46e2 [svn-r16857] Updated version to 1.8.3 2009-04-24 13:54:23 -05:00
Elena Pourmal
cd56e0f898 [svn-r16855] Maintenance: Changed version to hdf5-1.8.3-pre2 for further check-ins. 2009-04-23 22:28:44 -05:00
Elena Pourmal
bf151ed106 [svn-r16853] Maintenance: Changed version number to 1.8.3-pre1 and created a tar ball
for remote testing.
2009-04-23 22:24:30 -05:00
Mike McGreevy
f140eccaea [svn-r16843] Description:
Adding dependency to h5repack test script.

    h5repack.sh needs h5repacktst to run first.

Tested:

    Problem only appeared on Glory, but tested the dependence
    manually on jam by trying to run only the script and checking
    that it first ran the h5repacktst test program.
2009-04-22 16:54:49 -05:00
Albert Cheng
145782f915 [svn-r16838] Bug fix:
If the AR command has embedded shell separators such as the case of
"AR =  ar -X 64", $AR ends up as a blank.

Solution:
Put quotes around the command substitution string to protect against embedded
separators. Applied the same to both AR and RANLIB assignments.

Tested:
At Up (AIX 5.3) only because that was where I discovered the error
when AR is  ar -X 64
2009-04-22 14:49:22 -05:00
Albert Cheng
b9b28ce4cc [svn-r16830] Bug fix.
In Up (AIX system), the insert_libhdf5_settings() infinite looped because
it never found EOF.  Man getc in another system said:
   "If  the  integer  value returned by getc() is stored into a variable of
   type char and then compared against the integer constant EOF, the  com-
   parison may never succeed, because sign-extension of a variable of type
   char on widening to integer is implementation-defined."

Solution:
Changed inchar from type char to int fixed the problem.
Morale of the story: RTFM or HTCW (heed the compiler warnings).

Tested:
Up (AIX 5.3).
2009-04-21 18:29:12 -05:00
Frank Baker
abd99a6d51 [svn-r16827] Description:
Updated and restructured "Copyright Notice & License Terms" document 
    per new standard.
2009-04-21 18:09:30 -05:00
Binh-Minh Ribler
91e9a5d5c8 [svn-r16822] Description:
Added member function Attribute::getInMemDataSize() to simplify
    getting the attribute's data size in memory.  Used this new function
    in Attribute::read to get the fixed-len string attribute data.

    Added tests to tattr.cpp.

Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
    SunOS 5.10 (linew)
2009-04-21 15:57:26 -05:00
Neil Fortner
40df33dff7 [svn-r16818] Fix problem in H5Z.c with --disable-deprecated-symbols
Tested: jam (--disable-deprecated-symbols)
2009-04-21 10:45:20 -05:00
Albert Cheng
bdb33e7c98 [svn-r16813] New feature(Bug 230):
Embed the content of libhdf5.settings into the hdf5 executables so that an
"orphaned" executables can display (via the Unix strings command, for example)
the library settings used to build the executables.

This is a prototype implementation. Much improvement is needed.

configure.in:
    Added the --disable-embedded-libinfo option to disable this feature.
configure:
src/H5config.h.in:
    Generated by autotools like automake.
src/H5detect.c:
    Implement insert_libhdf5_settings() to insert the contents of
    libhdf5.settings into the library as an extern string variable so that it
    is included in all HDF5 executable.  Much improvement is needed.
fortran/src/Makefile.in:
    Auto-generated by bin/reconfigure. (i.e., I did make any changes to cause
    its direct regeneration).

Tested:
Jam serial, using default and --disable-embedded-libinfo, configure options.
2009-04-20 18:03:40 -05:00
Pedro Vicente Nunes
cd48d93298 [svn-r16811] merge 16810
added the words "Not comparable" in the not comparable messages
tested: linux
2009-04-20 16:06:54 -05:00
Neil Fortner
233fa9bee7 [svn-r16808] Purpose: Fix bug 1533
Description:
Previously, there was no versioning for H5Z_class_t.  This prevented applications
written for 1.6 using custom filters from being able to use the 1.8 library.
There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility.  H5Zregister is
*not* versioned, it determines which version of the struct has been passed in by the
value of the first field (id or version, both are ints).

Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
2009-04-20 14:17:59 -05:00
Scott Wegner
7b47b79f2d [svn-r16805] Purpose: Add new h5repack tests to Windows
Description:
Three new tests were added to the h5repack test script in rev.16802.  This checkin brings those new tests to Windows as well.

Tested:
VS2005 on WinXP x64
2009-04-20 13:14:09 -05:00
Neil Fortner
90aea941c5 [svn-r16804] Purpose: Fix bug 1548
Description:
When writing data to a dataset, the data transform was performed after type conversion.
This caused an error if the file type was non-native.  This has been changed so data
transforms are always performed on the memory type.

Tested: jam, linew. smirom (h5committest)
2009-04-20 11:59:01 -05:00
Neil Fortner
4446e5da71 [svn-r16802] Purpose: Fix bug 1516
Description:
h5repack previously would not take named datatypes into consideration when copying
datasets and attributes.  This would cause extra anonymous datatypes in the target file
at best, and cause errors halfway through the repacking at worst.  h5repack should now
always handle named datatypes correctly.  Named datatypes are also now converted to the
native type when -n is given.

Tested: jam, linew, smirom (h5committest)
2009-04-20 11:48:14 -05:00
Scot Breitenfeld
f7a982a64e [svn-r16801] merge changes from the trunk into the branch
svn merge -r 16781:16797 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

fixes problems with H5D_chunch_cache_* variable lengths

platforms tested: smirom: ifort, pgf90
                  jam   : f95
2009-04-20 11:47:47 -05:00
Scot Breitenfeld
f95bf64c53 [svn-r16798] corrected typos in fortran API 2009-04-20 11:24:15 -05:00
Mike McGreevy
8339217374 [svn-r16793] Description:
- Updated bin/reconfigure to use latest version of automake (1.10.2). 
      Regenerated Makefile.in's by running bin/reconfigure.

    - Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
      libraries.

Tested:

    jam, liberty, smirom
2009-04-20 01:03:29 -05:00
Albert Cheng
d380fe5398 [svn-r16790] Bug Fix (Bug 1398):
For gcc v4.3 and v4.4, with production mode,
if -O3 is used, H5Tinit.c would fail to compile. Actually bad H5Tinit.c is
produced.

If -O (same as -O1) is used, H5Tinit.c compiled okay but test/dt_arith
would fail with:
Testing hard normalized long double -> signed char conversions        time: comm
and terminated abnormally

When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all tests
passed.

Solution:
Changed the config/gnu-flags to use -O0 for gcc v4.3 and 4.4 for production
flags  for now so that build and tests would work. Still need to investigate
if the error is due to Gcc optimization bug or our code errors.

Tested:
In liberty with gcc43 and gcc44. Also, tested in jam and smirom with
older versions of gcc.
There are no gcc 43 or 44 compilers installed in other THG machines that
I know.
2009-04-20 00:03:41 -05:00
Binh-Minh Ribler
3489809ca5 [svn-r16788] Description:
Fixed to pass parameters to H5Awrite/H5Aread correctly so that
    all Attribute::write and Attribute::read methods work correctly
    for both fixed-length and variable-length string attributes.

    Added more test cases.

Platforms tested:
    Linux/32 2.6 (jam)
    FreeBSD/64 6.3 (liberty)
2009-04-19 01:17:26 -05:00
Pedro Vicente Nunes
f38ae770ca [svn-r16786] merge 16785
added missing test and compare cases inside compounds for nan
tested: linux
2009-04-18 16:19:56 -05:00
Scot Breitenfeld
cbd195409d [svn-r16783] Added information about new fortran wrappers added:
H5D_h5dget_access_plist_f
   H5I_h5iis_valid_f
   H5P_h5pset_chunk_cache_f
   H5P_h5pget_chunk_cache_f
2009-04-17 14:11:05 -05:00
Scot Breitenfeld
3577791dcc [svn-r16782] Description:
Merged the changes from the trunk/fortran into the branch:

used:

svn merge -r 16362:16781 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Platforms tested: smirom (pgf90, ifort)
                  linew
2009-04-17 14:09:35 -05:00
Raymond Lu
ccb31223c4 [svn-r16778] A minor correction of previous checkin. The original files created with v1.6 library could
be deleted by cleanup routine.  I corrected it in this checkin.

Tested on jam - simple change.
2009-04-17 10:30:17 -05:00
Christian Chilan
ae8e8d9378 [svn-r16771] Modified parallel tests so they can run with arbitrary number of processors.
Tested on jam and abe.
2009-04-16 20:34:17 -05:00
Neil Fortner
004b4c4dff [svn-r16767] Fix a comment in H5Pdapl.c, update RELEASE.txt with chages to factory free
lists.

Tested: kate
2009-04-16 16:10:45 -05:00
Albert Cheng
a2565505aa [svn-r16761] Fixed a simple typo in the echo statement in the
check-all-install actions.

Tested:
In jam by hand.
2009-04-15 17:13:20 -05:00
Raymond Lu
0e08da8023 [svn-r16758] The test of family file compatibility with v1.6 used the original family files under the library
source directory.  Since the test opens the files with write mode, it's safer to make copies of 
the original files.  I added the copying step in test_family_compat in vfd.c.  I changed the 
Makefile.am to clean up the copied files.  I created a new family_v16_00000.h5 with v1.6 library.

Tested on jam - supposed to be simple change.
2009-04-15 16:15:04 -05:00
Albert Cheng
79d1396cfa [svn-r16755] bug fix (ID 1345):
Use environment variable instead of command parameter to test
the install via $DESTDIR test.

Tested:
Jam by hand. (no h5committest which does not test this change.)
2009-04-15 09:18:15 -05:00
Albert Cheng
69ead66b76 [svn-r16750] New feature (Bug ID: 1345):
Added a Make target of check-all-install to test the correctness of
installing via the prefix= or $DESTDIR options.

Platforms tested:
h5committested and jam serial mode. Then test check-all-install by hand.
2009-04-14 17:08:23 -05:00
Allen Byrne
c12389e885 [svn-r16744] Added fixed bug 1536, about the include for the _getcwd() function. 2009-04-14 09:06:07 -05:00
Allen Byrne
75c3059f54 [svn-r16743] Added #include <direct.h> to windows section. As discussed in Bug 1536, this include is needed to supply the _getcwd() function.
Tested: XP 32 VS2005
2009-04-14 08:19:58 -05:00
Allen Byrne
e10dca69da [svn-r16741] Added missing h5Groot.c to project files
Tested on XP32-VS2005-IVF101
2009-04-13 14:38:30 -05:00
Larry Knox
696cf9552c [svn-r16740] Snapshot version 1.8 release 2 (post12) 2009-04-12 18:14:07 -05:00
Raymond Lu
c7867cff2b [svn-r16735] Added H5Groot.c. Not tested yet. 2009-04-10 15:50:09 -05:00
Neil Fortner
27af18b852 [svn-r16733] Revert change to family_16_00000.h5 from latest snapshot release. Raymond is
working on fixing this.
2009-04-10 15:40:48 -05:00
Pedro Vicente Nunes
10936f31a7 [svn-r16732] added 2 new entries
- h5diff new flag, -c, --compare, list objects that are not comparable.
        PVN - 2009/4/2 - 1368
 - h5diff new flag, -N, --nan, avoids NaNs detection. PVN - 2009/4/2
2009-04-10 15:38:59 -05:00
Neil Fortner
6285924944 [svn-r16731] Purpose: Fix bug 1539b
Description:
The H5L interface was not marked as uninitialized when H5L_term_interface was
called.  This caused the interface to not initialize itself later on.  This
prevented external links from working after calling H5close, because they were
never re-registered.

Tested: jam, smirom, linew (h5committest)
2009-04-10 15:15:31 -05:00
Pedro Vicente Nunes
8dba3d7b9c [svn-r16728] merge 16727
clean linux warnings
tested linux
2009-04-10 11:20:39 -05:00
Larry Knox
f01cd9be2d [svn-r16725] Snapshot version 1.8 release 2 (post11) 2009-04-09 20:53:47 -05:00
Neil Fortner
0c9806bb0e [svn-r16722] Purpose: Fix problems with "no strict format checks"
Description:
Changed H5G_mkroot to be tolerant of files with symbol table information cached
but no symbol table in the root group.  Also changed H5G_mkroot to properly
clean up in case of an error, and changed H5G_stab_is_valid to properly detect
errors in H5O_msg_read.

Tested: jam, linew, smirom (h5committest), jam (--disable-strict-format-checks)
2009-04-09 15:24:35 -05:00
Pedro Vicente Nunes
1dffdaa262 [svn-r16720] merge 16719
clean warnings linux
tested linux
2009-04-09 15:04:03 -05:00
Pedro Vicente Nunes
3fb6b6d6fa [svn-r16718] merge 16717
added some print messages
tested: linux
2009-04-09 10:52:08 -05:00
Neil Fortner
ef77500b28 [svn-r16712] Purpose: Fix bug 1423
Description:
Versions of the library between 1.3.0 and 1.6.3 have a bug which prevents them
from opening any file that does not have the root group's symbol table
information cached in the root group's entry in the superblock.  Prior to 1.8
this was not an issue as this information was always cached.  However, 1.8.0
stopped writing this information (which is not required by the file format
specification), and these older versions can therefore not read files created or
last written by versions 1.8.0 to 1.8.2.  This fix modifies the library to once
again add this information to the superblock (when using the old file format).

Tested: jam, linew, smirom (h5committest)
2009-04-08 17:16:45 -05:00
Pedro Vicente Nunes
6f92516776 [svn-r16709] added The scale index return value in H5DSiterate_scales was not always
+          incremented. (PVN - 2009/4/8 - 1538)
2009-04-08 16:25:53 -05:00
Pedro Vicente Nunes
c2c03a86b3 [svn-r16707] merge 16706 from trunk
#1538 (B2) Problems with Dim Scale APIs reported by Mathworks
ISSUE2: the scale index input/output parameter value passed to H5DSiterate_scales was not always incremented (it returns the scale index current iteration). 
SOLUTION FOR ISSUE2: modified the cycle in H5DSiterate_scales so that the scale index is always incremented
TEST: added some test cases with calls to invalid indices and H5DSiterate_scales with return scale indices and visitor data
tested: linux
2009-04-08 15:59:40 -05:00
Larry Knox
6787039100 [svn-r16705] Snapshot version 1.8 release 2 (post10) 2009-04-08 14:19:56 -05:00
Neil Fortner
3367137ba6 [svn-r16703] Purpose: Improve performance of factory free lists.
Description:
Factory free lists were formerly implemented as block free lists.  This was
inefficient as factories can only be one size, and implementing them as blocks
(which can be variable size) wasted computation and space.  They have been
rewritten with a separate implementation, which is simlar to regular free lists
except they can be dynamically created and destroyed.

Tested: jam, linew, smirom (h5committest)
2009-04-08 13:55:01 -05:00
Neil Fortner
48b127f628 [svn-r16699] Purpose: Fix bug 503
Description:
Changed Skip list package to use a deterministic skip list.  This allows the
skip list package to avoid calling rand() and srand(), even on machines without
rand_r().  There is no longer a p-value or maximum level for skip lists.

Tested: jam, smirom, linew (h5committest)
2009-04-08 12:05:17 -05:00
Pedro Vicente Nunes
428a7c5243 [svn-r16697] merge 16696 from trunk
#1538 (B2) Problems with Dim Scale APIs reported by Mathworks
ISSUE: When some functions are called with an invalid dimension index (for example, greater than the rank of the dataset) the function does not immediately fail, rather asserts down the code.
SOLUTION: added this check for H5DSdetach_scale, H5DSset_label, H5DSget_label (the other functions have this check) . H5DSiterate_scales also added a check for an invalid dimension scale index
TEST: added some test cases with calls to invalid indices
DOCS: Nothing added
STATUS: done for 1.9, 1.8. closed bug
tested: windows, linux
2009-04-08 10:40:35 -05:00
Neil Fortner
dc2b6bbce0 [svn-r16695] Purpose: Fix bug 1526
Description:
Previously, H5Lcopy and H5Lmove would (through H5L_move) improperly apply the
"create intermediate groups" property to the source path traversal, and not the
destination.  Fixed it to apply the property to the destination and not the
source.  Also fixed H5Lcreate_ud to reject internal link classes without
throwing an assertion.

Tested: linew, jam, smirom (h5committtest)
2009-04-07 18:12:44 -05:00
Scot Breitenfeld
7d193a28a8 [svn-r16680] Description:
Fixed warnings from absoft's compiler for !DEC$ statements.

Solution: There should not be a space after !DEC$ statements, removed the spaces.

Platforms tested:
Jam with gcc and f95
2009-04-07 10:21:30 -05:00
Pedro Vicente Nunes
fecd6ab559 [svn-r16677] merge 16676 from trunk
#1521 (B2) H5DSdetach_scale memory leak
ISSUE: Purify (Windows Visual Studio 6) complains of a memory leak in H5DSdetach_scale call  regarding a  H5Aread call (stack is H5A_read, H5T_convert, H5T_conv_vlen, H5T_vlen_seq_mem_write, H5MM_malloc).
SOLUTION: When a scale is detached from a dataset, the variable length structure length field is decreased in one entry. The associated pointer must be reallocated with the new length.
DOCS AND TEST: Nothing added
tested: linux
2009-04-07 10:05:33 -05:00
Pedro Vicente Nunes
1105b86f61 [svn-r16672] merge 16671 from trunk
fix compiler error on a missing "static" declaration
2009-04-06 10:05:08 -05:00
Allen Byrne
d623d950b6 [svn-r16668] Corrected the urls for h5dump xml dtd and schema
Tested: Fedora 10 gcc
2009-04-03 16:50:53 -05:00
Allen Byrne
3abbc57d81 [svn-r16665] Added h5tools.h to h5difftst.vcproj.
Added new test to h5repack.bat.

Tested on XP64-VS2005--IVF91
2009-04-03 16:15:20 -05:00
Pedro Vicente Nunes
c107f7063f [svn-r16664] merge 16663 from trunk
note : lots of weird warnings of the type
../../../../hdf5/tools/h5repack/h5repacktst.c:3919: warning: will never be executed
appear on the same code as 1.9 for the 1.8 branch

tested: linux
2009-04-03 14:44:26 -05:00
Allen Byrne
60a15ad439 [svn-r16662] Remove command to copy h5Tinit.c in copy batch file. H5Tinit.c is generated during build and no longer exists in the windows/src folder.
Tested: XP64 VS2005
2009-04-03 09:20:36 -05:00
Pedro Vicente Nunes
570de0c113 [svn-r16658] merge from trunk 16656
#1402 (B1) h5repack does not preserve creation order indexing. 
ISSUE : h5repack does not handle group creation order flags. 
ACTION: call H5P(g)(s)et_link_creation_order functions when handling groups, add new groups with these flags to the test generation program, and verify results in the test program. 
TEST: in the test program, function that compares property lists, added code to verify groups
DOCS: Added the note to RELEASE.txt: "h5repack now handles group creation order. PVN - 2009/4/2 - 1402".
2009-04-02 15:34:24 -05:00
Raymond Lu
9e148522d5 [svn-r16652] Bug fix #1503 - H5Iget_type failed unexpected when an invalid ID was passed in. I put
some argument check in the internal function H5I_find_id and took out the assertion check.
I also removed the argument check in H5Iis_valid because it's in H5I_find_id now.

Tested on jam and linew - simple change.
2009-04-01 17:02:44 -05:00
Larry Knox
df24309b72 [svn-r16649] Snapshot version 1.8 release 2 (post9) 2009-04-01 14:33:43 -05:00
Pedro Vicente Nunes
817acf2cdc [svn-r16647] fix typo 2009-04-01 14:03:19 -05:00
Pedro Vicente Nunes
cd43ca3bf7 [svn-r16644] add mention to #1501 2009-04-01 11:37:50 -05:00
Pedro Vicente Nunes
22d6e96014 [svn-r16641] merge from trunk revs 16614, 16629
1.	#1501  (B1) tools bug if dataset is larger than H5TOOLS_BUFSIZE limit. 
ISSUE : the tools use the following formula to read by hyperslabs: hyperslab_size[i] = MIN( dim_size[i], H5TOOLS_BUFSIZE / datum_size) where H5TOOLS_BUFSIZE is a constant defined of 1024K. This is OK as long as the datum_size does not exceed 1024K, otherwise we have a hyperslab size of 0 (since 1024K/(greater than 1024K) = 0). This affects h5dump. h5repack, h5diff
SOLUTION: add a check for a 0 size and define as 1 if so. 
TEST FOR H5DUMP: Defined a case in the h5dump test generator program of such a type (an array type of doubles with a large array dimension, that was the case the user reported).  Since the written file commited in svn would be around 1024K, opted for not writing the data (the part of the code where the hyperslab is defined is executed, since h5dump always reads the files). Defined a macro WRITE_ARRAY to enable such writing if needed. Added a run on the h5dump shell script. Added 2 new files to svn: tools/testfiles/tarray8.ddl, tools/testfiles/tarray8.h5. NOTE: while doing this I thought of adding this dataset case to an existing file, but that would add the large array output to those files (the ddls). The issue is that the file list is increasing.
TEST FOR H5DIFF: for h5diff the check for reading by hyperslabs is H5TOOLS_MALLOCSIZE (128 * H5TOOLS_BUFSIZE) or 128 Mb. This makes it not possible to add such a file to svn, so used the same method as h5dump (only write the dataset if WRITE_ARRAY is defined). As opposed to h5dump, the hyperslab code is NOT executed when the dataset is empty (dataset is not read). Added the new dataset to existing files and shell run (tools/h5diff/testfiles/h5diff_dset1.h5 and tools/h5diff/testfiles/h5diff_dset2.h5 and output in tools/h5diff/testfiles/h5diff_80.txt).
TEST FOR H5REPACK: similar issue as h5diff with the difference that the hyperslab code is run. Added a run to the shell script (with a filter, otherwise the code uses H5Ocopy). 
FURTHER ISSUES: the type in question ("double") has a different output cross platforms (e.g on liberty some garbage number is printed at some array locations)
SOLUTION: defined an "int" type for this test. However the printing of such an array has a bogus output at least in one platform (FreeBsd), so eliminated the test run altogether and filed a bug report on this
2009-04-01 10:25:43 -05:00
Neil Fortner
9863d5aee2 [svn-r16616] Purpose: Fix bug 1499
Description:
Due to a bug in H5F_super_read, every time a file with a user block was opened
it would grow by the size of the user block.  The bug has been fixed, and
comments have been added to clarify when an eoa address should be relative and
when it should be absolute.

Tested:
jam, linew (h5committest)
2009-03-26 10:29:23 -05:00
Raymond Lu
2def5e4c85 [svn-r16613] In previous checkin (r16609), the flag "write_driver" wasn't necessary as Quincey pointed out.
I took it out and used the driver address instead.

Tested on jam - simple change.
2009-03-25 14:49:19 -05:00
Raymond Lu
30ccff2212 [svn-r16608] Bug fix (#1161): When a family file created with v1.6 library is opened and closed with
v1.8 library, v1.8 library writes the driver info block in the superblock.  But v1.6
doesn't write it.  This caused the data after the superblock to be overwritten.  The
solution is to use a flag to indicate when the original file doesn't have the driver
info, v1.8 library doesn't write it either.

Tested on jam.  I have some trouble to access smirom and linew using h5committest.
2009-03-24 16:32:50 -05:00
Pedro Vicente Nunes
9c9e2c6d7d [svn-r16598] merge 16597 from trunk
#1047  (B1) The h5lt info routines are returning data in transposed form. ISSUE : the dimension array of the function h5ltget_dataset_info_f  was not transposed (because of C-FORTRAN storage order, the FORTRAN function calls the C function with the same name). SOLUTION: transpose the array. ACTION: add a test case.

added the note

Fortran High-Level APIs:
    ------
     - Lite: The h5ltget_dataset_info_f function (gets information about a dataset) 
           was not correctly returning the dimension array (PVN - 2009/3/23)

tested: linux
2009-03-23 15:04:55 -05:00
Neil Fortner
1598893d14 [svn-r16595] Purpose: fix bug 1189
Description:
Some files apparently exist in the wild which have corrupt symbol table messages
on the root group.  These files can be opened by 1.6 (which uses the cached
information in the superblock) but not by 1.8.  This patch fixes 1.8 and 1.9 so
they can now open these files, and will correct them if necessary.  Also fix
some potential (rare) problems with array datatype versions.

Tested: jam (parallel; h5committest not working on linew or smirom)
2009-03-23 14:14:55 -05:00
Pedro Vicente Nunes
1cc1da5133 [svn-r16589] merged from trunk: 16588
1.	#1487 (B1) DS memory leaks ISSUE 1: On a "go to" error condition, previously allocated buffers were not freed. NOTE: these are "potential" memory leaks because typically the error conditions do not occur, so the potential memory leaks also do NOT occur. ISSUE 2: A function used to read dimension scales realistic data (topography of the North Atlantic, latitude and longitude) was being called without the data buffer being freed. SOLUTION FOR ISSUE 1: added "free" calls for the allocated buffers on the error sections. SOLUTION FOR ISSUE 2:  added a "free" call after the read_data function, after using the buffer (on a H5Dwrite and H5Screate_simple). The read_data function reads both data and dimensions from the ASCII data files. DOCS: no docs added. Done for 1.9 and 1.8 STATUS: Closed bug

tested: h5committest
2009-03-19 13:37:07 -05:00
Pedro Vicente Nunes
a848e01316 [svn-r16585] added the OUTPUT-ARCHITECTURE STD that was previously removed, regarding a AIX failure 2009-03-16 17:17:46 -05:00
Larry Knox
af7e17167b [svn-r16582] Snapshot version 1.8 release 2 (post8) 2009-03-15 19:59:42 -05:00
Quincey Koziol
4201a8fbfe [svn-r16577] Description:
Actually set the exit value for the test (*sigh*)
2009-03-12 15:14:37 -05:00
Quincey Koziol
042ed7661a [svn-r16575] Description:
Bring r16574 back from trunk:

        Clean up many compiler warnings and make test return non-zero exit code
when a failure is detected.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
	(other platforms tested on trunk)
2009-03-12 13:21:47 -05:00
Pedro Vicente Nunes
856f1e9120 [svn-r16572] #1462 By selecting a compression type, a big endian byte order was being selected.
When reading the compression parameter keyword, the compression type read flag was incorrectly set to read, removed this line of code
in->configOptionVector[COMPRESS] = 1;


Modified one configuration file to have the COMPRESSION-TYPE GZIP
Keyword. 


Entered a bug description fix of
- h5import: By selecting a compression type, a big endian byte order was being 
            selected (PVN - 2009/11/3)


tested: linux
2009-03-11 14:36:08 -05:00
Quincey Koziol
828e7e2416 [svn-r16566] Description:
Bring r16560 back from trunk.

Tested on:
    Mac OS X/32 10.5.6 (amazon) debug & production
    (Following up with tests on more platforms)
2009-03-10 20:44:36 -05:00
Mike McGreevy
ddf384fb35 [svn-r16562] Purpose:
Bug Fix

Description:

    Fixing BZ #1381. The --includedir=DIR configure option, which is used to
    spceify installation location of C header files, did not work correctly as
    the path was hard-coded into config/commence.am. I'm presuming this is
    because an older version of automake didn't know where to put C header
    files. In any case, removing this line now defaults the includedir to the
    same directory that it is currently hard-coded to, and also fixes the
    configure flag which allows for customization of this value.

Tested:

    jam, liberty
2009-03-10 16:07:50 -05:00
Mike McGreevy
1b0e131cc4 [svn-r16555] Purpose:
Bug Fix

Description:

    Removing the code from configure which strips the '-g' flag from CFLAGS
    when in production mode. The current default CFLAGS in production mode
    does not include '-g', as intended, but we should allow users to
    override this and enable '-g' by setting the CFLAGS environment
    variable if desired. Note that this applies to FCFLAGS and CXXFLAGS
    as well.

Tested:

    kagiso, linew, liberty
2009-03-09 12:53:01 -05:00
Allen Byrne
363046bef9 [svn-r16551] Bug #608: Memory leak in H5DSset_label. Added code to free sub string ptr's belonging to buffer in H5DSset_label and H5DSget_label. Also added free of buffers in error section of both functions. Potential memory leaks may exist elsewhere, and this will not close the bug.
Tested:
   h5committest
   vista 32 VS2008
2009-03-05 15:20:24 -05:00
Allen Byrne
6c526e3bfe [svn-r16546] Moved long_long comment to correct location under bugs fixed since section. 2009-03-05 08:52:27 -05:00
Allen Byrne
8dc61483f2 [svn-r16544] Added text that long_long macro was removed. This should have been added with r16490. 2009-03-05 08:47:40 -05:00
Neil Fortner
5fb2e403a6 [svn-r16541] Move variable declaration to the top of the block in H5G_dense_iterate
Tested: Fedora 10 (too minor for full committest)
2009-03-04 14:48:27 -05:00
Raymond Lu
db81699a13 [svn-r16538] Added more test case for bypassing the cache. In test_big_chunks_bypass_cache,
test the correctness of the data when the fill value is defined or not.  The 
library should let the chunks bypass the cache depending on the size of the 
chunks and whether to write fill value to the chunks.

Tested on jam - simple change.
2009-03-03 14:35:34 -05:00
Quincey Koziol
19105560d0 [svn-r16536] Description:
Bring v16532 back from trunk to v1.8 branch:

	Pass the chunk "user data" to H5D_chunk_unlock(), so that chunks with
an address already aren't reallocated.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(h5committest not needed here, performed on trunk)
2009-03-02 17:30:16 -05:00
HDF Tester
b359f8d3b3 [svn-r16526] Snapshot version 1.8 release 2 (post7) 2009-03-01 19:52:02 -05:00
Neil Fortner
d9836c44a6 [svn-r16524] Purpose: Fix bugs related to H5Dset_extent and fill values
Description:
In some situations it was possible for the fill value to not be written to parts
of a chunked dataset, particularly when extending and/or shrinking.  Prior to
the fix for the chunk cache (1015) these bugs would have been exceedingly rare.

Tested: jam, smirom, linew (h5committest)
2009-02-27 12:06:50 -05:00
Allen Byrne
ee76c4fa94 [svn-r16522] Changed windows batch file due r16519 and r16520. As all windows OS are always LE on all platforms, simply added le to the two locations where these files are used.
Tested:
Vista 32 VS2008
2009-02-26 16:39:16 -05:00
Pedro Vicente Nunes
443e8cdafb [svn-r16520] one file escape deletion from previous check in 2009-02-26 16:33:15 -05:00
Pedro Vicente Nunes
086c205ca4 [svn-r16519] merge 16518 from trunk
have 2 expected outputs for 2 h5ls runs depending if run on a big or little endian machine. Configure.in was modified to export a variable carrying endianess information to testh5ls.sh. This script then compares the current run with 2 expected outputs, one for a big-endian machine (linew was used to generate the output), other for little endian (jam was used to generate the output)
the way h5ls prints types, it starts searching for NATIVE types first. One solution would be h5ls not to detect these native types, using for example the same print datatype function that h5dump does, that would make the output look the same on all platforms  ("32-bit little-endian integer" would be printed instead).  Drawback, this "native" information would not be available. Other solution is to have not one but 2 expected outputs and make the shell script detect the endianess and compare with one output or other
tested: jam, linew
2009-02-26 16:25:57 -05:00
Raymond Lu
39c794d2c4 [svn-r16515] To improve the performance of querrying the info of a link(bug #1404). When the index was set to
creation order in querry function but there's no creation order indexed in the file, the library tried 
to build and sort a table of all links.  To optimize it, let the library use the B-tree for names of 
links.

Tested with h5committest.
2009-02-24 13:53:59 -05:00
Pedro Vicente Nunes
fe217cfd57 [svn-r16512] merge 16511 from trunk
bug fix: TESTING2 macro introduced recently for the test suite (it adds an extra space at the beginning of output, for indentation) was already available for HL and caused compilation problems on AIX. Replaced the name with TESTING_2


tested: h5committest
2009-02-23 15:30:04 -05:00
Elena Pourmal
a9f5945de0 [svn-r16505] Maintenance: Fixed a typo discovered while compiling on AIX system
Platforms tested: Mac OSX and AIX (by Ed) (minor fix)
2009-02-20 17:03:04 -05:00
Pedro Vicente Nunes
94838213e6 [svn-r16503] merge 16502 from trunk
bug fix: a comma accidently left on a conditional typedef was causing compilition error on AIX
tested: linux
2009-02-20 16:27:59 -05:00
Quincey Koziol
788e645a78 [svn-r16500] Description:
Bring r16499 back from trunk:

        Cache chunk info for newly created chunk.

Tested on:
        FreeBSD/32 6.3 (duty)
        (Tests included in upcoming revise_chunks branch changes)
2009-02-19 18:53:18 -05:00
Quincey Koziol
494226aaf6 [svn-r16495] Description:
Bring r16488 back from trunk:

    Clean up code and eliminate resource leaks.  Also avoid "null" I/O when
chunk doesn't exist and we can skip it.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (too minor to require h5committest)
2009-02-19 14:38:20 -05:00
Quincey Koziol
0a9ad6a46e [svn-r16494] Description:
Bring r16483 back from trunk:

    Clean up (i.e. remove) more internal calls to H5E_clear_stack(), along with
    some other minor code cleanups.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (too minor to require h5committest)
2009-02-19 14:36:52 -05:00
Allen Byrne
0e515209b2 [svn-r16493] revert gcc PROD_CFLAGS to "-O", which was incorrectly changed by rev 16490. 2009-02-19 12:44:02 -05:00
Allen Byrne
c880943ce9 [svn-r16490] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   XP32, VNET
2009-02-18 15:05:49 -05:00
Vailin Choi
61346d50fa [svn-r16487] Checkin for moving messages forward into continuation message:
src/H5Oalloc.c, test/ohdr.c, toshm.c
Fixed couple of problems in src/H5Odbg.c.
h5committested.
2009-02-16 16:33:04 -05:00
HDF Tester
f023ea68dc [svn-r16486] Snapshot version 1.8 release 2 (post6) 2009-02-15 16:57:03 -05:00
Neil Fortner
9ebf3291c9 [svn-r16481] Purpose: Improve chunk cache
Description:
The meaning of the "nbytes" field in H5D_rdcc_t was not clear, and some places
assumed it was the maximum size of the chunk cache, while some assumed it was
the current size of the chunk cache.  The end result was that only 1 chunk could
be held in cache at a time.  This field has been replaced by "nbytes_max" and
"nbytes_used".  Performance of cached I/O should improve greatly.

Tested: jam, smirom (h5committest)
2009-02-12 15:49:02 -05:00
Neil Fortner
5a6c75cc58 [svn-r16478] Purpose: Fix problem with opening an attribute multiple times through multiple
file handles.

Description:
An attribute's "oloc" field which specifies the file it resides in was located
in the attribute's "shared" structure.  So when an attribute was opened multiple
times all of the handles for that attribute pointed to the same file id, even if
different file id's were used to open the different handles for the attribute.
The "oloc" has been moved to the top level H5A_t struct.

Tested: jam, smirom (h5committest)
2009-02-12 14:09:10 -05:00
Neil Fortner
582afd39e3 [svn-r16476] Purpose: Fix rare error when adding a new object header message
Description:
Since the new object header format, it has been possible for a situation to be
created where none of the messages are large enough to hold a continuation
message and there are no null messages to merge with.  This makes it impossible
to add a new object header chunk.  This case will now be handled by moving every
message in the last chunk to the newly allocated one, except for null messages
which are deleted.

Tested: jam, smirom (h5committest)
2009-02-12 14:01:19 -05:00
Neil Fortner
b487c22c42 [svn-r16474] Purpose: fix problems related to 'self-referential' attributes
Description:
When an attribute was created with a datatype or dataspace that was shared in
the same object header that the attribute was in, the attribute could not be
deleted.  Changes made to ensure that the attribute can be deleted both when the
attribute is in the object header and when it is shared in the heap.  Object
header message decode routines now take an "open_oh" parameter to enable them to
avoid opening the same object header twice.

Tested: jam, smirom (h5committest)
2009-02-12 13:50:21 -05:00
Larry Knox
b566fea225 [svn-r16471] Change H5Dopen to H5Dopen2 - fixes compile error - too many arguments for H5Dopen1 when using v1.6 compatible flag. Trivial change, tested on smirom and jam. 2009-02-12 11:10:35 -05:00
Allen Byrne
d82141259c [svn-r16470] Added two new test cases for compound types to batch file per script file changes in rev #16463.
Tested:
   XP32, XP64 - VNET, VS2005
2009-02-11 17:20:55 -05:00
Raymond Lu
87cdac5fe9 [svn-r16467] Performance Improvement(bug #1450). When a chunk is bigger than the cache size and isn't allocated
on disk, the library still loaded it in the cache, which is redundant.  I changed it to bypass the
cache and added a test in dsets.c.


Tested on jam and smirom.
2009-02-11 14:22:59 -05:00
Pedro Vicente Nunes
8fd5f783b4 [svn-r16463] merge from trunk
Bug fix: for compound types, the not comparable test for members was not done
Solution: for compound types, recursively apply that check
Two new cases are added
1) the compound type has a different number of members. Message printed is
<obj1> has X members <obj2> has Y members
Where X and Y are the number of members of each compound type being compared
2) the compound type has not comparable types (for example a double and an int at the same index)
In this case the message
Comparison not possible: object1 is of class1 and object2 is of class2
Is replaced with
Comparison not possible: object1 has a  class1 and object2 has a  class2
Modified the test generator program to have these 2  cases
Added a shell run for these 2  cases



Tested: h5committest
2009-02-11 11:37:46 -05:00
Elena Pourmal
c4a18e8ac7 [svn-r16460] Maintenance: Brought VMS test script for h5copy up-to-date.
Added h5copy testing to the build script.

Platforms tested: New script on ALPHA Open VMS server;
                  build script will be tested tonight.
2009-02-10 16:57:35 -05:00
Elena Pourmal
e3726385b1 [svn-r16459] Maintenance: installation script had a typo; fixed.
Platforms tested: Alpha VMS server
2009-02-10 15:35:39 -05:00
Elena Pourmal
f199d39a92 [svn-r16458] Maintenance: One of the h5diff tests failed due extra line that system adds to the
output. I added /comment_delim qualifier to the diff command to pacify
             the test script.

Platforms tested: Alpha VMS server
2009-02-10 15:28:13 -05:00
Elena Pourmal
9c1ccb04af [svn-r16456] Maintenance: Brought h5repack and h5diff test scripts up-to-date.
Modified build script to reflect the change.

Platforms tested: tested tools scripts on the VMS server; build script will
                  be tested tonight.
2009-02-09 17:38:37 -05:00
John Mainzer
cf6842099c [svn-r16452] Repaired intermittant failure of the t_cache test in testpar.
The failure was caused by some over active sanity checking code in
unlock_entry().  In essence the code did not consider the possibility
that under certain, very unusual circumstances, an entry could be flushed
to disk during the H5AC_unprotect() call.  Instead, it simply failed
if a dirty entry was marked clean after the call to H5AC_unprotect().

This bug in the test code was exposed by recent changes to the default
cache configuration made as part of the "metadata blizard" bug fix.

Fixed the bug by adding code to detect when an entry is flushed during
the call to H5AC_unprotect(), and not trigger a failure if a dirty entry
is marked clean after a call to H5AC_unprotect() if the entry has been
flushed.

In passing also found and fixed another test bug in which expunged
entries were erroneously marked as dirty in the test code's independant
register of entry status.

Tested parallel on Phoenix (AMD64 Linux) and Jam.

No further testing, as the fix was tested extensively prior to checkin
on the 1.9 branch.
2009-02-06 14:41:28 -05:00
Pedro Vicente Nunes
bd3565d448 [svn-r16450] bug fix: compare the return value of H5Tequal with TRUE
tested: h5committest
2009-02-06 11:31:33 -05:00
Allen Byrne
5a80587476 [svn-r16443] Update windows batch file to match *nix script due to rev 16351
Tested:
 XP 32 VNET
2009-02-05 13:55:42 -05:00
Quincey Koziol
066329f44b [svn-r16440] Description:
Bring r16435 from revise_chunks branch back to 1.8 branch:

        Expand object copy tests for chunked datasets to include 1-D datasets
with an unlimited dimension.  (Fix typo in comment for test/links.c)

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        (more thoroughly tested already on revise_chunks branch)
2009-02-05 11:04:22 -05:00
Pedro Vicente Nunes
041eb636da [svn-r16437] merge from trunk
bug fix: typo in usage message
tested: linux
2009-02-05 10:31:25 -05:00
Pedro Vicente Nunes
704c6a99fc [svn-r16432] merge from trunk
Uncomment a h5cleanup() call previously accidently left commented 


Tested: windows
2009-02-05 10:07:45 -05:00
Scott Wegner
adcfa1a45e [svn-r16427] Purpose: Fix Windows install script to include missing tool binaries
Description:
A user discovered that the HDF5 1.8.2 Windows release binaries were missing a few of the HDF5 tools.  This is due to the Windows install script, which simply didn't include them.  This commit fixes the install script to include h5copy, h5mkgrp, and h5stat

Tested:
VS2005 w/ WinXP, build and install only
2009-02-04 16:49:21 -05:00
Scott Wegner
d190de7e0f [svn-r16424] Purpose: Remove old Fortran source file from Windows projects.
Description:
In svn rev. 16197, H5fortran_flags.f90 was removed from HDF5.  This checkin removes references from our Windows projects, and will allow us to successfully build HDF5 Fortran on Windows.

Tested:
VS2005 w/ IVF 9.1 on WinXP
2009-02-04 14:39:55 -05:00
Pedro Vicente Nunes
25a2837cb5 [svn-r16422] bug fix: a open call was not made the expected FAPL
tested: windows, linux (split, sec2)
2009-02-04 14:29:24 -05:00
Pedro Vicente Nunes
3822ac7368 [svn-r16420] merge from trunk
#1449 Change set_extent test to use standard standalone test framework


Call h5_fixname (with an array of test filenames) for generating the  
filename to create and then call h5_cleanup() when the tests pass, to delete the files  
created and close the FAPL from h5_fileaccess(). 


Defined a macro 
#define TESTING2(WHAT)  {printf(" Testing %-62s",WHAT); fflush(stdout);}
Similar to TESTING, except that it has a initial indentation space.
The effect is for nested loop tests


Testing with old file format:
 Testing with fill value, no compression                                PASSED


tested: windows, linux
2009-02-04 10:53:00 -05:00
Quincey Koziol
d6ff1f2b6b [svn-r16418] Description:
Bring r16417 from trunk to 1.8 branch:

        Bring closer to standard standalone test format, add checks for using
the latest file format and close dataset ID leaked.

Tested on:
        FreeBSD/32 6.3 (duty)
        (too minor to require h5committest)
2009-02-03 20:53:49 -05:00
Quincey Koziol
2a5e92d415 [svn-r16415] Description:
Bring r16414 from trunk into 1.8 branch:

        Eliminate some more calls to H5E_clear_stack() from within library code.

        Clean up some warnings & comments also.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (Too minor to require h5committest)
2009-02-03 18:54:39 -05:00
Allen Byrne
29e9825c93 [svn-r16411] testh5ls.bat - added tests to match script file from rev 16310
h5repack.bat - added test to match script file from rev 16402
set_extent.vcproj - added WS2_32.lib for change to set_extent from rev 16406

Tested:
 Vista32, XP32, XP64 using VNET, VS2005 VS2008
2009-02-03 16:30:43 -05:00
Frank Baker
dac4853e69 [svn-r16408] Description:
Update source code copyright to include 2009.
2009-02-03 14:35:04 -05:00
Pedro Vicente Nunes
2e802e6a13 [svn-r16406] merge 16405 from trunk
#1449 Change set_extent test to use standard standalone test framework

use a fapl obtained by h5_fileaccess to the call of H5Fcreate
and redo the test calls with

h5_reset();
    fapl = h5_fileaccess();

    nerrors += do_ranks( fapl ) < 0 ? 1 : 0;
    nerrors += test_external( fapl ) < 0 ? 1 : 0;
    nerrors += do_layouts( fapl ) < 0 ? 1 : 0;

tested: windows, linux
2009-02-03 11:04:12 -05:00
Quincey Koziol
fc61c3a81a [svn-r16402] Description:
Bring r16401 back from trunk:

	Correct error introduced in r16353 with layout version, and add test
so it gets caught earlier.

Tested on:
	FreeBSD/32 6.3 (duty)
	Too minor to require h5committest
2009-02-02 20:43:58 -05:00
Quincey Koziol
6290469518 [svn-r16400] Description:
Bring r16399 back from trunk:

        Remove some internal calls to H5E_clear_stack().

Tested on:
        FreeBSD/32 6.3 (duty)
        Too minor to require h5committest
2009-02-02 16:01:17 -05:00
HDF Tester
01d1e93b37 [svn-r16398] Snapshot version 1.8 release 2 (post5) 2009-02-01 16:17:07 -05:00
Quincey Koziol
a75ff7d2e5 [svn-r16395] Description:
Bring r16394 back from trunk:

        Rename H5O_msg_read_real -> H5O_msg_read_oh, to be more consistent with
other routines in library.

        Move H5O_msg_read_oh and H5O_msg_exists_oh from package to private
header file, so other routines in library can use them.

Tested on:
        FreeBSD/32 6.3 (duty)
        Too minor to require h5committest
2009-01-31 21:35:37 -05:00
Neil Fortner
a1ffba8cdb [svn-r16387] Fix various warnings (errors in pgcc) associated with yesterday's dense
attribute object copy commit.

Tested: jam (gcc and pgcc)
2009-01-30 10:48:30 -05:00
Raymond Lu
69d06e6ed4 [svn-r16385] Added support for large files - added cc/define=_LARGEFILE in make.com and changed
H5_SIZEOF_OFF_T to be 8 in h5pubconf.h.

Tested on OpenVMS.
2009-01-30 09:55:15 -05:00
Neil Fortner
089dfcff02 [svn-r16381] Purpose: Enable copying of dense attributes
Description:
Attribute object copy routines have been moved from H5Oattr.c to H5Aint.c.
These routines are now shared between compact and densely stored attributes.
New routines written to support the copying of dense attributes.  This patch wasmostly written by Peter Cao.

Tested: jam, smirom (h5committest)
2009-01-29 16:05:03 -05:00
Neil Fortner
7b4e2704e7 [svn-r16379] Purpose: Fix a bug encountered when copying shared messages
Description: When attempting to copy an object with a message shared in its own
object header, the library attempts to protect the same object header twice.
Previously, it was possible for the object header to be protected with write
access in one or both of these protects, which would be illegal.  The library
should now always protect with read only access in this case.  The conditions
for fixing incorrect datatype versions have been made weaker to support this
change.  The version will only be corrected if the object header the datatype
is in is modified.

Tested: jam, smirom (h5committest)
2009-01-29 15:56:02 -05:00
Pedro Vicente Nunes
87ebee5951 [svn-r16375] merge 16373
replaced some printf statements with parallel_print


tested: linux serial (parallel tested in trunk)
2009-01-29 14:09:30 -05:00
Quincey Koziol
6d2a73d49f [svn-r16374] Description:
Bring r16372 back from trunk:

	Clean up files produced from set_extent testing.

Tested on:
	FreeBSD/32 6.3 (duty)
	(too minor to require h5committest)
2009-01-29 14:08:17 -05:00
Neil Fortner
b3731e3409 [svn-r16371] Modify test_pack_ooo to always output the state of randomly generated variables
when it fails, even in the sections that do not use the random variables.

Tested: jam
2009-01-28 12:21:07 -05:00
Quincey Koziol
e163a5f6ab [svn-r16368] Description:
Bring r16367 back from trunk:

	Refactor internal address encode/decode routines slightly, to allow for
more flexible use.

Tested on:
   Mac OS X/32 (amazon)
   FreeBSD/32 (duty)
   (too minor to require h5committest)
2009-01-27 18:16:13 -05:00
Quincey Koziol
a7673d2f91 [svn-r16365] Description:
Bring r16364 back from trunk:

    Clean up a few compiler warnings

Tested on:
    Mac OS X/32 (amazon)
    (too minor to require h5committest)
2009-01-27 16:18:23 -05:00
Scot Breitenfeld
bea031e44c [svn-r16363] Description:
Merged changes from the trunk into the branch. Used the command:

svn merge -r 16197:16362 http://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran

Platforms tested: smirom, liberty
2009-01-27 15:59:03 -05:00
Neil Fortner
4cd5a378c4 [svn-r16361] Purpose: Fix potential error with H5Tset_order
Description: H5Tset_order will now properly reject H5T_ORDER_NONE for most
datatypes.  Previously this could cause major problems as the file could not be
flushed.

Tested: jam, smirom (h5committest)
2009-01-27 11:05:53 -05:00
Pedro Vicente Nunes
4f48c9c555 [svn-r16359] merge 16348
bug fix
a new line was not inserted at the end of output, causing diff to complain between linux and frebsd

tested: linux (freebsd tested on the trunk)
2009-01-27 10:42:42 -05:00
Quincey Koziol
661734d541 [svn-r16356] Description:
Bring r16354 back from trunk:

        Refactor internal layout information, making it easier to add another
type of chunk index.

Tested on:
	FreeBSD/32 (duty)
	(other configurations tested with original change)
2009-01-27 09:47:26 -05:00
Pedro Vicente Nunes
92f5db9daf [svn-r16355] bug fix: some printf calls instead of parallel_print made some tests to fail
tested: on the trunk
2009-01-27 09:02:20 -05:00
Pedro Vicente Nunes
d2dd85b598 [svn-r16351] merge 16348
#1368 (E1) h5diff: implement  "not comparable" messages. Implemented RFC. The new option is <-c, --compare           List objects that are not comparable>

added some test cases

tested: windows, linux
2009-01-26 15:39:32 -05:00
Neil Fortner
1197e992e9 [svn-r16350] Purpose: enhancements the H5Tinsert, H5Tpack
Description: H5Tinsert will now detect when a compound type that was previously
not packed becomes packed due to out of offset order insertion of a member.
H5Tinsert will now attempt to keep members sorted by offset order.  This should
improve performance of H5Tinsert in all cases due to the fact that it no longer
needs to check every other member for overlapping, and should improve
performance of H5Tpack and possibly type conversion when compounds are packed
out of order.

Tested: jam, smirom (h5committest)
2009-01-26 14:43:09 -05:00
HDF Tester
0a9e0279b6 [svn-r16346] Snapshot version 1.8 release 2 (post4) 2009-01-25 16:40:52 -05:00
Larry Knox
f6d689ac18 [svn-r16343] Temporarily undo skipping the h5diff test of hyper1.h5 and hyper2.h5 that hangs on THG machines to see if the problem is fixed. Simple change - tested on jam. 2009-01-22 17:20:33 -05:00
Frank Baker
6bd7826ce8 [svn-r16341] Description:
Changed 'THG' to 'The HDF Group' in various HDF5 source files,
        most of which are <subdirectory>/COPYING.
    -- Closes Bugzilla entry 1403.
2009-01-22 16:03:58 -05:00
Mike McGreevy
976eb1cb49 [svn-r16339] Purpose:
Bug Fix

Description:

    Removing some unnecessary headers from test/cache.c which snuck their way
    into one of my previous check-ins ... thanks to Allen for catching this
    while testing on windows.

Tested:

    Windows, Linux
2009-01-22 14:59:09 -05:00
Raymond Lu
8a3162e118 [svn-r16334] Added definition for two new macros H5_HAVE_C99_DESIGNATED_INITIALIZER and H5_HAVE_C99_FUNC.
Tested on OpenVMS.
2009-01-21 11:05:36 -05:00
Albert Cheng
4c6f09d4de [svn-r16332] Bug 948.
The test "h5diff -v h5diff_hyper1.h5 h5diff_hyper2.h5" sometimes hangs in THG
machines. Skip it until its hanging is resolved.

Tested: Jam pp only since it is a simple script change.
2009-01-19 22:39:42 -05:00
HDF Tester
cd5619a2c2 [svn-r16331] Snapshot version 1.8 release 2 (post3) 2009-01-18 16:49:07 -05:00
Raymond Lu
228a3ac054 [svn-r16326] Fixed a small problem in file names. Some new file names were left out for OpenVMS.
To be tested on OpenVMS.
2009-01-16 16:11:19 -05:00
Mike McGreevy
c2bb26a754 [svn-r16325] Purpose:
Code Cleanup

Description:

    - Pulled out repetetive cache stats code into its own new macro.

    - Converted HDasserts in verification macros to if / HGOTO_ERROR statments
      in order to keep code consistent.

Tested:

    jam (also tested smirom/liberty in trunk)
2009-01-15 14:57:02 -05:00
Albert Cheng
7341054c69 [svn-r16322] Purpose:
Improvement

Description:
Modified the warning messages from the Version mismatch checking to suggest
the users to try recompiling or checking the shared lib setting.

Platforms tested:
Tested in Jam only since it was just a simple text string changes.
2009-01-14 18:50:38 -05:00
Pedro Vicente Nunes
2ad37c5958 [svn-r16320] merge 16319
add conditinal nan detection to some missing places

tested: windows, linux
2009-01-14 16:43:26 -05:00
Raymond Lu
f677f9fbcf [svn-r16314] Added support for OpenVMS pathname for external link.
Tested on OpenVMS and jam.
2009-01-14 14:48:39 -05:00
Pedro Vicente Nunes
127792fc31 [svn-r16313] merge 16301
Add a mention to the usage that the default minimum size for compression is 1024 bytes


M - is an integer greater than 1, size of dataset in bytes (default is 1024)


#bgz 1426


tested: windows, linux
2009-01-14 11:36:10 -05:00
Pedro Vicente Nunes
d496a1c715 [svn-r16312] merge 16300
Added an option to avoid dealing with NaNs 
-N, --nan               Avoid NaNs detection
Note: there is no shell script run for datasets with NaN because the output is non portable (different results and NaN strings for different systems)


Tested: windows, linux
2009-01-14 11:31:52 -05:00
Pedro Vicente Nunes
98d4ba5d8a [svn-r16310] merge 16299
Print a message of
Storage:   information not available
When displaying storage information for VL and dataset region types
Added 2 shell runs that display this information
#818


Tested: windows, linux
2009-01-14 10:58:16 -05:00
Neil Fortner
b7a12779d5 [svn-r16309] Purpose: Fix problem with H5Tpack
Description:
If a compound type was packed except for some extra space at the end, H5Tpack
would not modify the type and the extra space would remain.  Changed
H5T_is_packed to fix this behaviour.

Tested: jam, smirom (h5committest - linew down)
2009-01-14 10:45:25 -05:00
Quincey Koziol
60915ff8aa [svn-r16307] Description:
Bring r16306 back from trunk:

	Add detection of C99 "designated initializers" to configure script and
use new H5_HAVE_C99_DESIGNATED_INITIALIZER macro to conditionally compile
default layout variables in src/H5Pdcpl.c

	Also, minor code cleanups, etc.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(Other platforms tested on revise_chunks branch)
2009-01-14 09:01:12 -05:00
Scot Breitenfeld
bbd83d97e0 [svn-r16304] Description:
added:

!DEC$ATTRIBUTES reference ::

for character strings being passed in to C to fix bug in VMS for functions
h5sdecode_f and h5sencode_f.
2009-01-13 16:16:18 -05:00
Elena Pourmal
9c53e8281a [svn-r16302] Maintenance: Removed a debug qualifier that caused batch job to skip basic
Fortran test.
2009-01-13 16:14:03 -05:00
Neil Fortner
2a23b4b176 [svn-r16297]
Disable more file drivers incompatible with family file driver in external_set_elink_cb in links.c.

Tested: jam check-vfd
2009-01-11 12:24:48 -05:00
Neil Fortner
5c204221e1 [svn-r16295] Changes to links.c to prevent the core file driver from being used as the member
file driver for a family file.  This was causing problems with check-vfd.

Tested: jam
2009-01-10 16:16:12 -05:00
Mike McGreevy
7b9871bfa2 [svn-r16293] Purpose:
Bug Fix

Description:

    Removed problematic debugging statement and switched one remaining TRUE
    verbose statement to FALSE in cache_common.c

Tested:

    jam, liberty
2009-01-10 09:59:49 -05:00
Mike McGreevy
52d3f187a5 [svn-r16291] Purpose:
svn merge

Description:

    merging revision 16290 from trunk to 1.8

   (revision 16290 contains the code that maintains a min_clean_fraction
   of the metadata cache in serial).

Tested:

    smirom, jam
2009-01-09 16:10:29 -05:00
Neil Fortner
aa12e27206 [svn-r16288] Fix one of the new tests in links.c. external_set_elink_cb no longer copies the
driver information from property list to property list.

Tested: jam
2009-01-09 11:00:37 -05:00
Pedro Vicente Nunes
17a2d21791 [svn-r16285] - h5repack: When user doesn't specify a chunk size, h5repack now defines a default
chunk size as the same size of the size of the hyperslab used to read the chunks. 
            The size of the hyperslabs are defined as the size of each dimension or a 
            predefined constant, whatever is smaller. This assures that the chunk 
            read fits in the chunk cache. (PVN - 2008/11/21)

  - H5Dset_extent: when shrinking dimensions, some chunks were not deleted.  
            (PVN - 2009/01/8)
2009-01-08 14:15:13 -05:00
Neil Fortner
50d88ec142 [svn-r16282] Purpose: Add functions to allow more flexible traversal of external links.
Description: Added H5Pset/get_elink_cb to allow the user to specify a callback
function to be called whenever an external link is traversed.  Added
H5Pset/get_elink_acc_flags to allow the user to specify the file access flags
to use to open the target file of an external link.  All these properties are set on a LAPL.

Tested: jam (trunk version tested with h5committest)
2009-01-08 13:24:09 -05:00
Quincey Koziol
ab2ff6eda4 [svn-r16280] Description:
Bring revision 16278 back from revise_chunks branch:

	Update layout information in DCPL to unify all information in one
underlying property and switch to using H5O_layout_t for storing it, which
simplifies things considerably.

	Also, fix many compiler warnings.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	(Original patch tested on many machines)
2009-01-08 12:56:57 -05:00
Raymond Lu
416af90179 [svn-r16276] Update. Commented out H5_HAVE_RAND_R because OpenVMS doesn't have rand_r function.
Tested on OpenVMS.
2009-01-08 11:07:02 -05:00
Pedro Vicente Nunes
56f666d330 [svn-r16275] Added a test for shrinking to 0 dimemsions
Tested: windows, linux
2009-01-08 10:26:17 -05:00
Albert Cheng
d318a3b7ce [svn-r16270] Bug fix.
The Tail command in jam (a newer linux) does not accept the +2l option.
It ended up wiping most of the release_doc/RELEASE.txt file contents.
Replaced the "tail +2l" by "sed -e 1d".

Tested:
Tested in Jam to verify it functions properly again.
2009-01-06 17:58:47 -05:00
Raymond Lu
4c032ef58e [svn-r16268] Temparorily comment out some failing tests for Open VMS. After fixing the problem, I will
uncomment them.

Tested on Open VMS and jam.
2009-01-06 17:14:24 -05:00
Neil Fortner
e87964eadf [svn-r16267] Revert RELEASE.txt to the version before it was mostly deleted by hdftest.
Update version number listed at the top.

Tested: vim
2009-01-06 10:10:51 -05:00
Scot Breitenfeld
fe1223d360 [svn-r16263] Description:
added missing reference in h5lget_name_by_idx_f:

!DEC$ATTRIBUTES reference ::

for character strings being passed in to C to fix bug in VMS.
2009-01-05 11:42:17 -05:00
Scot Breitenfeld
fbf861cbde [svn-r16234] Description:
Cosmetic changes, Also tested -r16232 on:

Jam (intel 10.1)
Smirom (intel 10.1)
2008-12-30 12:25:11 -05:00
Scot Breitenfeld
79e4e95e82 [svn-r16232] Description:
Added chunk property to the data set because changes H5Dset_extent now require/check the the data set is chunked.
2008-12-30 11:43:17 -05:00
Pedro Vicente Nunes
f4df369454 [svn-r16228] cleaned more linux warnings
tested: linux
2008-12-29 16:52:56 -05:00
Pedro Vicente Nunes
ca0c4ce8fd [svn-r16226] merge 16225
remove debug messages
tested: windows, linux
2008-12-29 16:32:19 -05:00
Pedro Vicente Nunes
eb3eb77e57 [svn-r16224] merge from 16223
Modified H5Dset_extent so that it fails when called for compact datasets and contiguous with no external storage
new test program: It adds tests for several ranks, use of fill value or not, compression, different fill value allocation times, use of different storage layouts, and external files

tested: windows, linux
2008-12-29 15:54:58 -05:00
HDF Tester
972a1f1003 [svn-r16221] Snapshot version 1.8 release 2 (post2) 2008-12-28 16:57:28 -05:00
Pedro Vicente Nunes
2a6e4d4e43 [svn-r16218] Merging trunk 16217
Bug fix
PG compiler complains about array out of bounds (a rank of zero was not checked)
Adding a scalar dataset to the test generator program. this case is run on a previous existing run, the case was added to 2 existing files

Tested: windows, linux
2008-12-23 10:52:22 -05:00
Albert Cheng
fdcd0fb59f [svn-r16216] Updated for removed file.
Tested by bin/chkmanifest.
2008-12-22 23:53:13 -05:00
Elena Pourmal
5b57b18ae8 [svn-r16215] Maintenance:
Updated command files in order to build in a batch queue;
	added lines that define compiler qualifiers and location
	of the zlib library in case one has to build manually in 
	a current directory.
	Deleted command file in the vms/tools/h5ls directory that 
	is no longer needed.
Platforms tested:
	VMS server (build passed; tests are running now)
2008-12-22 18:22:19 -05:00
Raymond Lu
18197d3471 [svn-r16213] Added HDlseek to the H5FD_core_truncate function in H5FDcore.c to rewind the file pointer
to the beginning of the file.  Otherwise, the file might be re-extended later on Open VMS.
Also updated the return value for the HDlseek to be more appropriate.

Tested on Open VMS.
2008-12-22 14:01:29 -05:00
Raymond Lu
ec9ff804e2 [svn-r16212] Update: H5Distore.c was taken out. H5Bdbg.c and H5Dbtree.c were added.
Tested on Open VMS.
2008-12-22 13:42:06 -05:00
HDF Tester
1b42d70294 [svn-r16211] Snapshot version 1.8 release 2 (post1) 2008-12-21 19:28:58 -05:00
Allen Byrne
52b7b7d462 [svn-r16208] Added new file H5Bdbg.c to windows project file. Tested using VS2008 Express. 2008-12-18 10:05:54 -05:00
Quincey Koziol
58a925fe4c [svn-r16205] Description:
Bring r16204 back from trunk:

	Moved v1 B-tree debugging routines into separate module and thinned
out header files a bit.

Tested on:
	FreeBSD/32 6.3 (duty) in debug mode
	Too minor to require h5committest
2008-12-18 08:52:50 -05:00
Elena Pourmal
3fbec7d04f [svn-r16203] Maintenance: Added new VMS command file to the MANIFEST file.
Platforms tested: My MAC with the chkmanifest script.
2008-12-16 10:05:52 -05:00
Raymond Lu
778d231626 [svn-r16201] Comment out a debug info.
Not test is needed.
2008-12-15 16:12:12 -05:00
Raymond Lu
28366536ba [svn-r16200] Add makefile for tools/misc directory, compiling h5debug.c and h5mkgrp.c. 2008-12-15 16:02:48 -05:00
Raymond Lu
9c5100ced3 [svn-r16199] Added HDlseek in front of the truncate function in H5FD_sec2_truncate for VMS only.
On Open VMS, if the last read or write put the file pointer beyond the current file size 
(it happens when an object is deleted), the file can be extended when it's truncated.

Tested on VMS.
2008-12-15 15:40:24 -05:00
Scot Breitenfeld
ef857fa7d7 [svn-r16198] Description:
Removed the fortran file: ./fortran/src/H5fortran_flags.f90
which is no longer needed.
2008-12-15 15:11:32 -05:00
Scot Breitenfeld
41245b50b6 [svn-r16197] Maintenance: Merged trunk into the hdf5_1_8 branch
(used svn merge -r 15741:16196 http://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran).
2008-12-15 14:17:49 -05:00
Mike McGreevy
327484d503 [svn-r16195] Purpose:
Bug Fix

Description:

    Resolved issues with broken sanity checks that were failing when the 'b2'
    debugging package was enabled (v2 b-tree debugging):

        - Fixed outdated assertions that would not compile. They now compile
          and function correctly.

        - Removed too far outdated assertions that would require too much
          unnecessary refactoring of code in order to satisfy their 
          initial purpose.

        - Re-enabled b2 debugging package when "--enable-debug=all" is 
          specified on the configure line.

Tested:

    jam, smirom, linew
2008-12-15 12:43:11 -05:00
Elena Pourmal
0c86f4cd9c [svn-r16192] Maintenance on VMS:
Command file had a line for building an object file for a non-existing
	source; deleted.
Platforms tested:
	VMS server
2008-12-12 18:29:17 -05:00
Elena Pourmal
69f88cf77c [svn-r16191] Maintenance on VMS:
make.com for the h5stat tools was not copied to the h5stat
	directory. It caused build script to fail. Fixed.
Platforms tested:
	VMS server
2008-12-12 18:24:49 -05:00
Allen Byrne
2dfcef40cd [svn-r16190] Changed references of H5Distore to H5Dbtree in project files. (Related to revision 16180) 2008-12-12 13:16:59 -05:00
Quincey Koziol
f4cf17d0d7 [svn-r16188] Description:
Bring r16187 back from trunk:

	Change a few more "istore" references in comments to "chunk" or "btree".

Tested on:
        None, just comments
2008-12-11 15:08:15 -05:00
Quincey Koziol
796f5a9f4c [svn-r16183] Description:
Bring r16182 back from trunk:

	Rename internal routines, variables, macros, typedefs, etc. for chunked
dataset storage from "istore" to some variant of "chunk" or "btree".

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
2008-12-11 14:34:27 -05:00
Quincey Koziol
4168cf3af6 [svn-r16181] Description:
Bring r16180 back from trunk:

	Rename the current chunk indexing routines module for B-tree indices
to better reflect their purpose, and to make the upcoming extensible array
index module fit in better.

Tested:
	FreeBSD/32 6.3
	Too minor to require h5committest
2008-12-11 13:49:25 -05:00
Elena Pourmal
32ce1dd47d [svn-r16178] Maintenance for VMS system:
Updated command files for building Fortran library and tests.

Platforms tested: Boeing VMS server.
2008-12-11 10:12:19 -05:00
Neil Fortner
9f13e1ccb0 [svn-r16177] Remove terminal whitespace in links.c, H5Lexternal.c, H5Plapl.c
Tested: jam
2008-12-09 14:55:51 -05:00
Albert Cheng
04ec4470e5 [svn-r16175] Updated fix of the missing argument of open() in zip_perf.c.
Also reformat some other entries to keep them with a consistent format.
2008-12-09 10:57:17 -05:00
Albert Cheng
5218c4001a [svn-r16172] Code clean up.
Function get_unique_name() had potential string overflow problem.
Fixed. Also removed some unused macros.

Tested by h5committest.
2008-12-08 23:11:37 -05:00
Albert Cheng
27c239c2d1 [svn-r16168] Bug fix: 1089
Description:
One open() call with O_CREAT flag did not have the third required argument.

Solution:
Added the right third argument. Also changed all open() calls to HDopen
macros for more portable coding.

Tested:
h5committested.
2008-12-08 21:29:06 -05:00
Frank Baker
3dcdd204de [svn-r16164] Description:
Change all occurrences of 'THG' to 'The HDF Group'.
2008-12-08 16:40:30 -05:00
Pedro Vicente Nunes
c70ab22f2f [svn-r16159] merge 16158
Test the non deletion of a chunk for the case chunk_offset == dimension by shrinking first, then expanding to original size and compare buffers of initialized values 

Tested: windows, linux
2008-12-03 22:53:05 -05:00
Pedro Vicente Nunes
4cb7515496 [svn-r16157] merge 16156
close & re-open the file for the test of non-default B-tree internal 'K' value (There was a bug where a non-default B-tree internal 'K' value was not  being stored in the file)
this is a rewrite of the old set_extent.c test program
tested: windows, linux
2008-12-03 21:31:12 -05:00
Raymond Lu
7c5468f27f [svn-r16155] Update - undefine H5_HAVE_STAT64 and H5_HAVE_FSTAT64 2008-12-03 15:29:23 -05:00
Pedro Vicente Nunes
181b5fc3e8 [svn-r16153] merge 16152
added comments and removed unnecessary code


tested: windows, linux
2008-12-02 15:56:25 -05:00
Pedro Vicente Nunes
bdd4bd0d4d [svn-r16149] merge 16148
reorganized the set_extent test to be more modular

tested: windows, linux
2008-12-02 14:43:37 -05:00
Pedro Vicente Nunes
3f26602c9e [svn-r16145] Merging with trunk regarding revisions
16132

some chunks were not deleted for some cases, the comparison to check for chunk offsets outside of the new dimensions was
chunk_offset[ i ] > dimension [ i ]
and it must be
chunk_offset[ i ] >= dimension [ i ]


16133
H5TBdelete_record was not handlong correctly records at the end of the table
added a ckeck that avoids to read these records if they are not needed (for pushing down the table)

16143
add a test for recent fixes of H5Dset_extent

tested: windows, linux
2008-12-01 15:58:00 -05:00
HDF Tester
78e90e5780 [svn-r16139] Snapshot version 1.8 release 2 (post0) 2008-11-30 17:58:27 -05:00
Raymond Lu
7a0f481872 [svn-r16135] Updates. Tested on VMS. 2008-11-26 17:05:25 -05:00
Raymond Lu
3fc7f73c8d [svn-r16131] Updated it. 2008-11-24 17:46:51 -05:00
Raymond Lu
5fd91ff962 [svn-r16130] Updated h5pubconf.h and corrected make.com 2008-11-24 16:54:29 -05:00
Pedro Vicente Nunes
1a88b7687f [svn-r16129] revised test table
tested windows linux
2008-11-24 16:23:08 -05:00
Pedro Vicente Nunes
56e444329e [svn-r16127] correct and entry in the wrong place 2008-11-24 15:26:09 -05:00
Pedro Vicente Nunes
69698dff03 [svn-r16126] In version 3.0 of Table, "NROWS" was deprecated
tested: windows, linux
2008-11-24 15:21:53 -05:00
Raymond Lu
fa40801d42 [svn-r16123] Add vms/tools/h5stat/make.com 2008-11-24 09:46:34 -05:00
Pedro Vicente Nunes
330cdd5f97 [svn-r16118] h5repack: Define a default chunk whose size is manageable. (PVN - 2008/11/21) 2008-11-21 15:19:40 -05:00
Pedro Vicente Nunes
0b4b87e36f [svn-r16115] #1375. Define a default chunk whose size is manageable. Defined currently as the same size of hyperslab (that compares the dimension sizes against a predefined constant size and chooses the minimum between the two)
Tested : linux, windows
2008-11-21 15:03:41 -05:00
Raymond Lu
e2c88e83bd [svn-r16113] Updated the makefiles (make.com) and check.com and src/h5pubconf.h (generated on kagiso).
Not tested yet.
2008-11-21 10:48:28 -05:00
Elena Pourmal
0fa496eced [svn-r16109] VMS maintenance: Brought command files up-to-date 2008-11-19 15:32:11 -05:00
Elena Pourmal
feb6b5e546 [svn-r16108] Maintenance: Brought up command file up-to-date. 2008-11-19 15:18:26 -05:00
Elena Pourmal
2f03768888 [svn-r16104] Bug fix:
h5vers script overwrote the value for windows file; fixed
2008-11-19 14:22:27 -05:00
Elena Pourmal
96fd960606 [svn-r16102] Maintenance: Suffix after the release is done should be post0 instead of
snap0; caught by Albert, fixed by policy offender.
2008-11-19 13:23:19 -05:00
Elena Pourmal
1258c22bb0 [svn-r16101] Maintenance: Library version number in vms/src/h5pubconf.h
was not updated automatically and therefore
             was always outdated. Modified h5vers script to update
             the version for the VMS configuration file as we do for 
             the similar windows file.
Platforms tested:
             kagiso with bin/h5vers
2008-11-19 11:24:35 -05:00
Mike McGreevy
374f8f9da5 [svn-r16096] Purpose: Updating bin/reconfigure script
Updating bin/reconfigure script to point to autotools in /mnt/hdf/packages,
    since /home1/packages no longer exists.

Tested: kagiso
2008-11-18 15:22:51 -05:00
Quincey Koziol
e012505802 [svn-r16092] Description:
Switch H5Gcreate -> H5Gcreate2 and H5Gopen -> H5Gopen2, so that they aren't
switched with the API compability flags are changed

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    Linux/64 2.4 (smirom) w/API compability
2008-11-17 17:24:23 -05:00
Scott Wegner
29be5ec598 [svn-r16090] Purpose: Add new source file to Windows.
Description:
Recently a new source file, H5Pdapl.c, was brought to the 1.8 branch.  This checkin also adds it to the Windows Visual Studio projects.

Tested:
None needed, very minor.
2008-11-17 17:14:05 -05:00
Neil Fortner
3c5f5263e3 [svn-r16088] Purpose: Update RELEASE.txt for H5Pset_chunk_cache etc.
Tested: gedit
2008-11-17 14:41:01 -05:00
Neil Fortner
ca1fa22021 [svn-r16087] Purpose: Port H5Pset_chunk_cache, H5Pget_chunk_cache, and H5Dget_access_plist
functions to 1.8 branch

Tested: kagiso, jam (trunk version tested with h5committest)
2008-11-17 14:36:40 -05:00
Neil Fortner
e00d3174e5 [svn-r16086] Purpose: Port H5Iis_valid function to 1.8 branch
Tested: kagiso (trunk version tested with h5committest)
2008-11-17 14:13:08 -05:00
Neil Fortner
a6493ad0c0 [svn-r16083] Purpose: Fix a problem in the file unmounting code
Description: Fixes a problem in H5F_close_mounts where it wouldn't correctly
reshape the "child" array when unmounting files.  Test added for this case.
Also fixed a potential bug in H5F_unmount where that routine reshapes the child
array.  (Port to 1.8)

Tested: kagiso linew smirom (h5committest)
2008-11-17 14:00:02 -05:00
Pedro Vicente Nunes
0426a9ff06 [svn-r16073] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
Tested: windows, linux
2008-11-13 11:45:08 -05:00
Pedro Vicente Nunes
c9300fbde0 [svn-r16071] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
tested: windows, linux
2008-11-13 11:16:12 -05:00
Elena Pourmal
66f00a70a4 [svn-r16069] Maintenance: Changed version to 1.8.2-snap0 and updated documentation files
after the release. Branch is open for check-ins now.
2008-11-12 15:53:30 -05:00
Elena Pourmal
18f2cf5cb6 [svn-r16058] Maintenance: Changed version to 1.8.2 and released source tar ball. I will
tag the release after we build binaries tonight.
2008-11-10 15:45:46 -05:00
Albert Cheng
f289a72b30 [svn-r16056] Updated Red Storm instruction. 2008-11-10 15:23:37 -05:00
Albert Cheng
5ffd94a3de [svn-r16053] Updated with AIX and Cray XT3 information. 2008-11-10 14:51:36 -05:00
Elena Pourmal
e68e7d3e41 [svn-r16051] Maintenance: Some lines were too long; broke them in two. 2008-11-10 14:33:26 -05:00
Elena Pourmal
8a54bb616b [svn-r16049] Maintenance: forgot to fix a typo in the gfortran version; fixed. 2008-11-10 12:03:54 -05:00
Elena Pourmal
3557f90e62 [svn-r16048] Maintenance: In preparation of the release
Pedro and I cleaned up the tools sections in the file.
2008-11-10 12:02:51 -05:00
Scott Wegner
e492e8989b [svn-r16047] Update Windows release documents-- increment version number for 1.8.2, and drop MinGW support for this release (not enough time for testing) 2008-11-10 11:36:37 -05:00
Binh-Minh Ribler
b7564c7536 [svn-r16046] Description:
Updated info about H5Rdereference wrappers.
2008-11-10 09:46:05 -05:00
Elena Pourmal
79b24eacfc [svn-r16038] Maintenance: More cleanup before the release based on Quincey's comments. 2008-11-06 11:13:35 -05:00
Elena Pourmal
8a5e38fd6a [svn-r16035] Maintenance: Cleaned up the file before 1.8.2 release. 2008-11-05 12:01:59 -05:00
Elena Pourmal
835e13806c [svn-r16031] Bug fix: While testing hdf5-1.8.2-pre1 on Mac I dicovered that I made
a typo in a configuration file for Mac checked in on 
         October 31 (rev 16008). Since this change affects only Fortran
         users on Mac Intel and doesn't affect daily tests on any platforms,
         I am checking in the fix.
Platforms tested:
	 pahra with Intel compilers
2008-11-04 16:38:45 -05:00
Pedro Vicente Nunes
7885abab9a [svn-r16027] reintroduce code before 16025 of code freeze 2008-11-04 13:33:57 -05:00
Pedro Vicente Nunes
f0d6f33b74 [svn-r16025] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
Tested: windows
2008-11-03 21:53:41 -05:00
Elena Pourmal
d9080af461 [svn-r16023] Maintenance: Changed version to hdf5-1.8.2-pre1 before creating a tar ball for
remote testing.
2008-11-03 16:54:52 -05:00
Neil Fortner
780999deee [svn-r16021] Purpose: Fix behaviour of H5Ovisit
Description: H5Ovisit and H5Ovisit by name will now check for a positive return
value from the first callback.  Test added for this case.

Tested: kagiso
2008-11-03 15:54:19 -05:00
Scott Wegner
d2980de247 [svn-r16019] Purpose: Fix Windows definition of H5ftruncate for VS.NET
Description:
On Windows/Visual Studio, there is no function ftruncate.  As a result, we have redefined the H5ftruncate macro to use _chsize_s.  However, this function also doesn't exist on Visual Studio prior to 2005.  Previously we had an #ifdef to support VS 6.0 with the lesser chsize function.  This checkin changes the #ifdef to also include VS.NET, since we still support it for HDF5 1.8 branch.

Tested:
VS.NET on WinXP
2008-11-03 09:39:02 -05:00
Larry Knox
019c82760e [svn-r16017] Correct Fortran compiler version for mercury. 2008-11-01 11:10:56 -05:00
Larry Knox
8935335907 [svn-r16015] Update Platforms Tested and Supported Configuration Features summary sections for November 2008 release. 2008-11-01 10:42:47 -05:00
Pedro Vicente Nunes
215fcf771f [svn-r16011] Bug fix
When -b was requested and no -o (file name) binary output was made to stdout
Had a check after command line parsing to verify if -o is present, otherwise exit

Tested: windows, linux
2008-10-31 13:03:17 -05:00
Elena Pourmal
27d42dfae5 [svn-r16008] Maintenance: Updated compilers and system information for Mac Intel in
RELEASE.txt
             Modified config file to disable shared libraries only
             when Fortran is enabled.
Platforms tested:
             pahra (Mac Intel 10.5.4)
2008-10-31 09:27:54 -05:00
Binh-Minh Ribler
752627e424 [svn-r16007] Description:
Added info to C++ API sections, about dereference wrappers and the fix 
    of bugzilla 1068, which involved the rearrangement of the class hierarchy.
2008-10-30 22:59:50 -05:00
Raymond Lu
edb9de4efc [svn-r16005] Modify the commit of r15936 for H5_USE_16_API. Let H5version.h check if H5_USE_16_API_DEFAULT is defined by the configure. Then define H5_USE_16_API and use it throughout.
Tested on kagiso - supposed to be simple.
2008-10-30 14:44:06 -05:00
Pedro Vicente Nunes
f2bdeee898 [svn-r16003] h5import: TEXTFPE (scientific format) was deprecated. Use TEXTFP
+            instead (PVN - 2008/10/30)
2008-10-30 14:36:47 -05:00
Pedro Vicente Nunes
148f0787ad [svn-r16002] h5diff: return 1 for file differences when both file graphs differ by any object.
+            Error return code was changed to 2 from -1. (PVN - 2008/10/30)
2008-10-30 14:30:34 -05:00
Pedro Vicente Nunes
209f3a4504 [svn-r15999] h5dump: binary default to NATIVE. 2008-10-30 14:16:04 -05:00
Binh-Minh Ribler
2cfa680366 [svn-r15998] Description:
Fixed various comments/headers to update the C++ reference manual.

Platforms tested:
    Linux 2.6 (kagiso) - to make certain no typo introduced
2008-10-30 14:05:47 -05:00
Pedro Vicente Nunes
b3e7158c54 [svn-r15996] Added a definition of HDftruncate for windows to compile with VC6 and later versions
Tested: windows
2008-10-30 11:11:21 -05:00
Pedro Vicente Nunes
37bff127f5 [svn-r15995] remove mention to h5diff -c 2008-10-30 10:37:19 -05:00
Pedro Vicente Nunes
8de58b40f5 [svn-r15985] reorganized the code to deal with deprecated -i -o for in/out files to avoid duplicated code
tested: windows, linu

x
2008-10-28 20:32:42 -05:00
Quincey Koziol
d851c3ba6c [svn-r15982] Description:
Remove redundant check for 1.6 default API.

Tested on:
    Eyeballed - very trivial
2008-10-28 18:42:20 -05:00
Pedro Vicente Nunes
9dd196f146 [svn-r15981] added the version from rev 15974, this AM, before any changes made today 2008-10-28 15:53:09 -05:00
Pedro Vicente Nunes
dd0b3ce4a8 [svn-r15980] add mention to h5diff long double 2008-10-28 15:02:52 -05:00
Pedro Vicente Nunes
5f376374db [svn-r15976] remove mention to h5diff -c 2008-10-28 11:11:25 -05:00
Elena Pourmal
98bac0cfc0 [svn-r15974] Bug fix:
Compilation on all daily test platforms fails due to missing "(";
	fixed.

Platforms tested:
	co-login
	kagiso with --with-default-api-version=v16 and  
        --with-default-api-version=v16 --disable-deprecated-symbols
        compilation flags.
2008-10-27 22:19:31 -05:00
Pedro Vicente Nunes
a8e59673c0 [svn-r15973] make -b accept both MEMORY and NATIVE
tested: windows, linux
2008-10-27 21:02:12 -05:00
Scott Wegner
a2501c41bd [svn-r15970] Purpose: Update Windows h5dump test script
Description:
The h5dump test script was recently updated to add the new -b syntax.  This update also adds and modifies the neccessary tests for Windows.

Tested:
VS2005 on WinXP
2008-10-27 15:39:28 -05:00
Pedro Vicente Nunes
f08f9340a7 [svn-r15969]
Introduced a new feature in the tools library regarding command line parsing
In the definition of arguments, an "*" means that the switch can or can not have an optional argument. This "*" is put in the code regarding the letter definition, and it is transparent to the user (e.g b* instead of the previous b: ), where ":" notes a required argument after the letter (and no ":" or "*" notes no argument, mandatory)
Used for the h5dump binary option -b
It can be now
1)	-b (defaults to NATIVE)
2)	- b NATIVE
3)	- b FILE
4)	-b LE
5)	-b BE
Note: the keyword NATIVE replaces MEMORY
This feature (-b with no argument) was tested with the sequence of h5dump to binary (NATIVE) then h5import to generate an HDF5 file from the binary file and h5diff to compare the 2 HDF5 files
Tested: windows, linux
2008-10-27 15:06:28 -05:00
Pedro Vicente Nunes
64e96385de [svn-r15967] regarding the return value of h5diff (0, no difference in files, 1 difference )
objects with the same name must be of the same type


tested: windows, linux
2008-10-27 11:18:06 -05:00
Scott Wegner
30675b0c4a [svn-r15964] Purpose: Mention Windows bugfix in release document
Description:
In June, we discovered a bug in Windows which only affected specific timezones with the mtime test.  This bug was promptly fixed, but never documented.  This checkin adds a note to the release document.
2008-10-27 09:56:48 -05:00
Scott Wegner
2d567669cd [svn-r15963] Purpose: Minor h5repack test update
Description:
Change the Windows h5repack test script so that the h5diff format matches the latest changes.  In particular, don't send the -c option.

Tested:
None, very minor
2008-10-27 09:32:57 -05:00
Binh-Minh Ribler
9e9c74f7c0 [svn-r15962] Description:
Fixed some typos and replaced free/HDfree and malloc/HDmalloc.

Platforms tested:
    Linux 2.6 (kagiso) - very minor
2008-10-27 08:49:25 -05:00
Binh-Minh Ribler
9924714992 [svn-r15960] Description:
Oops, I accidentally only did "svn commit" instead of "svn commit -m" as
    instructed.
    "ported revisions 15958 to 15959 (Added missing wrappers for H5Rdereference)
    from trunk."
2008-10-26 22:02:39 -05:00
HDF Tester
c16cadef00 [svn-r15958] Snapshot version 1.8 release 1 (snap7) 2008-10-26 17:40:34 -05:00
Christian Chilan
aaf4e0bda5 [svn-r15956] Revised the help page of h5perf.
Tested on kagiso.
2008-10-26 16:19:31 -05:00
Albert Cheng
d55acefa0f [svn-r15951] Fix Bug 1300.
Removed duplicated information due to previous incompleted changes.
Also rearranged the entries to a more logical combinations.

Tested: h5committest.
2008-10-25 20:43:40 -05:00
Mike McGreevy
5e1af503a6 [svn-r15949] Purpose: Documentation
Description: Updating RELEASE.txt with changes for release.

Tested: docwork only, none needed
2008-10-24 16:37:45 -05:00
Mike McGreevy
1c0b652994 [svn-r15948] Purpose: Bug Fix
Description: Adding the SZIP path to LD_LIBRARY_PATH within configure was
             inadvertently blowing away anything already in LD_LIBRARY_PATH. This
             fixes that, which solves, among other things, the problem where
             configure failed to learn how to print 'long long' on cobalt.

Tested: full make check install: kagiso, smirom
        configure / make / h5ls test only : cobalt, linew
2008-10-24 16:30:49 -05:00
Raymond Lu
5f16ae281c [svn-r15946] A follow-up checkin for the last-round commit(r15936). Added a test in this script file to
check whether the macros H5_USE_16_API works properly.  There used to be a problem to compile
if H5_USE_16_API is defined in the application program (see bug #1264).

Tested on kagiso - simple change.
2008-10-24 14:48:57 -05:00
Pedro Vicente Nunes
07baa2bd02 [svn-r15945] redo the
use of
H5_PRINTF_LL_WIDTH
in the definition of 
#define HSIZE_T_FORMAT   "%"H5_PRINTF_LL_WIDTH"u"

the printing of "unknow u" in tg-login3.
for unsigned long long was a  configure bug fixed by rev 15942

tested: tg-login3
2008-10-24 14:38:53 -05:00
Neil Fortner
d58e55cc92 [svn-r15940] Purpose: Close bug 1305.
Description: Added a new function, H5O_alloc_shrink_chunk, which removes all
null messages from a chunk and shrinks the chunk appropriately.  Modified
H5O_merge_null to call this function when a null message is created with a size
>= 64k.  Tests added for this functionality.

Tested: kagiso, linew, smirom (h5committest)
2008-10-23 20:04:28 -05:00
Quincey Koziol
2245e77948 [svn-r15939] Description:
Bring r15937 back from trunk to 1.8 branch:

	Correct error in metadata accumulator code which wasn't expanding the
metadata accumulator when adjoining (but not overlapping) I/O writes occurred.

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-23 17:59:12 -05:00
Pedro Vicente Nunes
1b6981c062 [svn-r15938]
for some reason , the use of H5_PRINTF_LL_WIDTH to convert to a unsigned long long format, is not working in ia64 linux (tg-login3)
extra characters are printed, this time in h5ls
hardcoded the format defined in HSIZE_T_FORMAT to "%llu"

tested: windows, linux (kagiso), solaris, ia64 linux (tg-login3)
2008-10-23 16:29:21 -05:00
Raymond Lu
caa9e0c055 [svn-r15936] Changed the library's macros H5_USE_16_API to H5_USE_16_API_DEFAULT avoid possible conflict with user's definition of H5_USE_16_API. The H5_USE_16_API_DEFAULT is defined through
configure with the flag --with-default-api-version=v16.

Tested with h5committest.
2008-10-23 14:48:45 -05:00
Pedro Vicente Nunes
b694ad6c87 [svn-r15933] for some reason , the use of H5_PRINTF_LL_WIDTH to convert to a unsigned long long format
is not working in ia64 linux (tg-login3)
hardcoded the format to "%llu"

tested: windows, linux (kagiso), solaris, ia64 linux (tg-login3)
2008-10-22 17:33:58 -05:00
Pedro Vicente Nunes
83abc3a4e4 [svn-r15923] The printf call with the format "%"H5_PRINTF_LL_WIDTH"u" prints some garbage in linux ia64 unless we pass to the function a temporary pointer variable
Tested: windows, linux (kagiso), solaris, linux ia64 (tg-login3)
2008-10-21 14:25:29 -05:00
Albert Cheng
00b0378cd3 [svn-r15919] Updated with the information of the removal of libhdf5_fortran.settings. 2008-10-21 11:12:58 -05:00
Albert Cheng
16801096c7 [svn-r15917] Bug fix: #933
This file is no longer needed since it is not installed any more.

Tested: kagiso with fortran and C++.
2008-10-21 11:02:56 -05:00
Albert Cheng
fdabaa3330 [svn-r15912] Bug fix: #933
The information of libhdf5_fortran.settings are all included in
libhdf5.settings now. Remove it from the source.

Tested: kagiso with fortran and C++.
2008-10-20 23:10:17 -05:00
Scott Wegner
7f758bceb0 [svn-r15909] Purpose: Various Windows test script updates
Description:
This checkin includes updates to Windows test scripts for h5copy, h5diff, and h5dump tools.  Each represents minor changes to syntax which emulates the updates made to the general-platform test scripts.

Tested:
VS2005 on WinXP
2008-10-20 11:06:48 -05:00
Pedro Vicente Nunes
3a6ad02916 [svn-r15901] undo some changes in the list of parameters of parse_command_line (forgot that this function is called both on serial and parallel)
tested: linux
2008-10-17 22:01:34 -05:00
Pedro Vicente Nunes
1e1bcb801c [svn-r15900] Make the h5copy test that renames a group to return 1 on the h5diff call and assume 1 is the correct result
Drop the -c flag for h5diff

Tested: linux
2008-10-17 18:45:32 -05:00
Pedro Vicente Nunes
6c262bfc93 [svn-r15899] Extend the -c flag for ignore graph differences to ignore different group names
This is used in the h5copy test that compares renaming of groups

Tested: linux
2008-10-17 17:26:14 -05:00
Mike McGreevy
1b86e5a529 [svn-r15898] Purpose: Bug Fix
Description: Libtool wasn't working on linew because the script was
             not working with the Solaris Bourne shell. Libtool has built-
             in detection to ensure that it uses an appropriate shell,
             but our config/commence.am was hard coding this shell to be
             /bin/sh. Removing this line allows the shell to be picked up
             by configure, thus allowing libtool to use the correct shell
             on linew (bash). This was initially added to correct for a problem
             on an old machine (janus), so shoudn't be needed for machines
             we currently support.

Tested:      full make check install on kagiso and linew, compile only
             on smirom, duty, and liberty.
2008-10-17 10:48:23 -05:00
Pedro Vicente Nunes
924ba14474 [svn-r15896] Introduced a -c flag to ignore file contents differences in the return value (return 0 id -c is present)
Introduced for h5copy validation

Tested: windows, linux
2008-10-16 18:24:18 -05:00
Pedro Vicente Nunes
208777ec89 [svn-r15891]
Make the h5diff call compare only the source and destination objects, otherwise if we attempt to compare the all file, h5diff returns 1 for differences

Tested: linux
-This line, and those below, will be ignored--

M    tools/h5copy/testh5copy.sh
2008-10-16 14:00:18 -05:00
Pedro Vicente Nunes
12e3697d79 [svn-r15889] When comparing individual objects the file graph is not currently compared, so make h5diff return 0 (no diffrences)
Tested: windows, linux
2008-10-16 11:00:37 -05:00
Neil Fortner
b195e33d3f [svn-r15887] Purpose: Close bug 1332
Description: Improved external link traversal of h5dump.  h5dump will now
    properly avoid all cycles, even those spanning multiple files.  Improvement
    to the output of committed datatypes.  Committed datatypes are now checked
    for uniqueness (like other objects).  Tests added for these cases.

Tested: kagiso, linew, smirom (h5committest)
2008-10-15 22:54:19 -05:00
Mike McGreevy
97cced22b6 [svn-r15881] Purpose: Bug Fixes, Libtool Upgrade
Description:

  1) configure now sets LD_LIBRARY_PATH before checking for presence of 
     SZIP encoder, so user does not need to set this. The path is then
     saved and sent to Makefiles, and used when "make check-install" is
     invoked, so user doesn't need to set this manually. 

  2) Upgraded libtool to version 2.2.6a

  3) Rearranged tools build order as h5dump depends on existence of h5diff
     and h5import. Since h5dump is a sister directory as opposed to a parent
     of either, it doesn't know about the build rules of these tools, so 
     setting any sort of explicit dependency confuses automake as it won't
     know how to build the tools. Instead, setting CONFIG = ordered forces
     an in-order traversal of each tools subdirectory. (without it will also
     traverse in order by default, but this should prevent gmake's -j option
     from jumping ahead as well). 'make check install' should now be able to 
     be invoked after 'configure' without causing a dependency failure.

  4) Removed H5_HAVE_LARGE_HSIZET macro from vms/src/h5pubconf.h, as this macro
     has now been out of the code for some time. (vms pubconf needs to be 
     updated manually, which is why it was still hanging around).

Tested: kagiso, smirom, liberty

Note: h5diff looks to be causing failures in h5copy and h5dump tools tests,
      though these were present before any of my changes. My changes only 
      affect build order and configuration setup, and shouldn't prevent
      fixes for these failures coming in after this checkin. Other than these,
      tests pass fine.
2008-10-15 16:53:36 -05:00
Pedro Vicente Nunes
b353fb8b5a [svn-r15871] Eliminate -c option and make that behavior the default and return 2 instead of -1 on error status
Tested: windows, linux
2008-10-15 11:10:15 -05:00
Vailin Choi
122b938cbf [svn-r15870] Add description to release doc for the two new public routines and h5stat bug fix. 2008-10-15 09:16:15 -05:00
Quincey Koziol
8f3811e1b1 [svn-r15869] Description:
Bring r15868 from trunk to 1.8 release branch:

	Correct a minor error in file free space allocation which was affecting
the 'multi' VFD and preventing some tests from fully working with it.

	Wholesale revisitation of all the places where tests were disabled
with various VFDs and remove or correct all these so that _only_ the tests
which _really_ can't work with particular VFDs are skipped during a
'make check-vfd' test.


Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-14 22:53:09 -05:00
Pedro Vicente Nunes
c7bc8d9d28 [svn-r15866] add support for long double type
tested: windows, linux (32,64)
2008-10-14 15:38:57 -05:00
Scot Breitenfeld
56b70ea505 [svn-r15865] Description:
Added new Fortran features and bug fixes in this release.
2008-10-14 14:53:26 -05:00
Quincey Koziol
2f910f3fc7 [svn-r15863] Description:
Bring r15861 back from trunk to 1.8 release branch.

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-14 08:39:36 -05:00
Raymond Lu
8a6d7d14f6 [svn-r15854] Added a new test case. When a datatype is a SOHM type in one file, test that the
second file using the same datatype actually save it in the file, too.

Tested on kagiso.  But the same change in v1.9 has been tested with h5committest.
2008-10-13 14:08:35 -05:00
Scott Wegner
01eb811b40 [svn-r15853] Purpose: Decrease size of points array in links test
Description:
In the external_set_elink_fapl2 links test, there is a large array of points which declared on the stack for testing.  Previously, the array was 1000 x 1000, which was too large for Visual Studio to handle.  As a result, we were getting stack overflows during the test.  We've reduced the number to 400, as this seems to be below the limit.  The exact number of points in the array isn't important to the test.

Tested:
VS2005 on WinXP
2008-10-13 13:33:51 -05:00
Scott Wegner
1eaa64a224 [svn-r15846] Purpose: Declare loop variable at beginning of function
Purpose:
On Windows, we were getting compile errors because h5test.c includes a function with variable declarations in the middle of the call.  The Microsoft C compiler demands that all variables be declared at the top of the function.  This checkin simply moves the declaration to the top to satisfy Visual Studio.

Tested:
VS2005 on WinXP
2008-10-13 11:53:44 -05:00
Scott Wegner
166931c024 [svn-r15845] Purpose: Add Windows-specific version of HDftruncate
Description:
Windows doesn't include a version of the system call ftruncate.  There is a similar call, _chsize_s, which performs very similarly.  Thus, we map HDftruncate to _chsize_s in our Windows header file, H5win32defs.h.

Tested:
VS2005 on WinXP
2008-10-13 11:51:31 -05:00
Scott Wegner
dc587a17fa [svn-r15842] Purpose: Update h5jam Windows test script
Description:
The testfiles used for the h5jam/h5unjam test were recently moved to a new directory.  Update the structure of the Windows test script to compensate for the change.

Tested:
VS2005 on WinXP
2008-10-13 10:36:43 -05:00
John Mainzer
032898afc5 [svn-r15836] Fixed a hole in the input checking for the metada cache.
Tested on Phoenix (serial)
          Kagiso  (parallel)
	  Linew   (serial)

There were updates during my testing, but I decided to check in 
regarless without further testing as my change is very localized.
2008-10-10 20:08:31 -05:00
Vailin Choi
c30c0a0cbb [svn-r15834] Fixes for bug #1253:
1. Fixed segmentation fault in print_group_info()
 2. Call print_statistics() in main() when objects/links are successfully traversed;
    otherwise, return warning message.
2008-10-09 16:27:11 -05:00
Christian Chilan
8091a4a0b1 [svn-r15831] Modified the display of the accumulated times taken to open and close files.
Tested on kagiso.
2008-10-09 13:11:05 -05:00
Quincey Koziol
b62ec1e874 [svn-r15829] Description:
Bring bck revision 15828 from trunk:

        Skip some free space manager tests when using a VFD that doesn't
support the feature being tested.

        Use a particular memory type with the file free space sections.

        Uncomment the metadata aggregator feature for the fmily VFD, as it
appears to be working after the file free space changes.

Tested on:
	FreeBSD/32 6.3 (duty)
	h5committest not needed, change already tested on trunk...
2008-10-09 09:54:02 -05:00
Quincey Koziol
070a4899bf [svn-r15827] Description:
Correct mis-merge in last set of changes from the trunk.

Tested on:
	FreeBSD/32 6.3 (duty)
2008-10-09 07:31:06 -05:00
Quincey Koziol
261bbe39aa [svn-r15826] Description:
Bring revision 15825 from trunk:

	Fix various problems with a the core & sec2 VFDs.

	Improve the h5_get_file_size() routine to handle files created with
VFDs that use multiple files.

Tested on:
	FreeBSD/32 6.3 (duty)
	Already tested on other machine, in trunk.
2008-10-08 22:52:46 -05:00
Albert Cheng
37aaef8fe0 [svn-r15823] Updated a bug fix information. 2008-10-08 16:03:05 -05:00
Pedro Vicente Nunes
3b451f709a [svn-r15817] move h5jam testfiles to its own testfiles folder
tested: linux
2008-10-08 11:13:38 -05:00
Scott Wegner
3f35eb23f8 [svn-r15814] Purpose: Update h5ls test script
Description:
The general h5ls test script was recently updated.  This checkin brings those changes to Windows

Tested:
VS2005 on WinXP
2008-10-08 10:47:17 -05:00
Scott Wegner
b5e8ad2d7e [svn-r15813] Purpose: Add new source code and tests to Windows
Description:
Many new source files were added from the freespace branch.  This checkin adds the code to Windows as well.

Note: Some tests are still failing on Windows, but this checkin brings us closer to fixing them.  In particular, freespace test fails on compile (Quincey is working on it), and the DLL links test fails at runtime (I'll look into it)

Tested:
VS2005 on WinXP
2008-10-08 10:11:25 -05:00
Albert Cheng
73bf21ce05 [svn-r15812] Bug fix: #1090
The custom rules for installing h5cc, h5fc, and the fortran modules in fortran
and in hl/fortran don't use $(DESTDIR).  Added it to all those rules.

Tested: kagiso both serial and parallel with fortran and cxx enabled.
Tested by:
    make install
    make DESTDIR=/tmp/acheng install
    diff -r /tmp/acheng/.../hdf5 hdf5
2008-10-08 00:17:05 -05:00
Albert Cheng
f1e2853e6f [svn-r15811] Some test produced files were not cleaned by "make clean".
Added them to the clean list.

Tested: kagiso.
2008-10-07 21:54:50 -05:00
Albert Cheng
b198fc89b9 [svn-r15809] Some test produced files were not cleaned by "make clean".
Added them to the clean list.

Tested: kagiso, serial and parallel.
2008-10-07 21:26:45 -05:00
Pedro Vicente Nunes
32a72c4d54 [svn-r15806] correction in test name, testing "non" initialized chunks
tested: windows, linux
2008-10-07 11:03:54 -05:00
Neil Fortner
d0ae398d95 [svn-r15805] Purpose: Add option to h5ls to enable external link traversal.
Description: Added -E option to h5ls.  When set, this alows h5ls to enter
external files (currently only through an external link).  The -r option by
itself will no longer allow h5ls to traverse external links.

Tested: kagiso, linew, smirom (h5committest)
2008-10-07 09:55:32 -05:00
Quincey Koziol
78b5437aeb [svn-r15803] Description:
Bring r15802 back from trunk:

        Skip some file free space tests that deal with aligned allocations when
using the stdio VFD, which has its own allocation process that drops the
unaligned fragments instead of tracking them with the free space manager.

Tested on:
	Mac OS X/32 10.5.5 (amazon) w/stdio driver
2008-10-07 09:16:51 -05:00
Quincey Koziol
bdbdbb9f89 [svn-r15801] Description:
Bring r15800 back from trunk:

		- File free space branch changes through r15794

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-10-07 08:32:32 -05:00
Quincey Koziol
b256db872d [svn-r15799] Description:
Change H5Tcommit() call to H5Tcommit2() call, so that library builds with
the default API set to v16 work.

Tested on:
    Linux/64 2.4 (smirom) w/default API set to v16
2008-10-06 23:10:48 -05:00
Neil Fortner
a858608a0a [svn-r15797] Purpose: Close bug #1322
Description: Fixes a possible datatype id leak that could occur during compound
datatype conversion, or more precisely, when unregistering those conversions.
Datatype ids normally registered by the library are no longer visible to the
application via H5Fget_obj_ids and H5Fget_obj_count.

Tested: kagiso, linew, smirom (h5committest)
2008-10-06 22:47:56 -05:00
Pedro Vicente Nunes
d7437bc5b1 [svn-r15791] Bug fix. When detecting the user requested filters, the "all" option was not taken in consideration when printing the compression ratio
Tested: windows, linux
2008-10-06 15:43:42 -05:00
Scott Wegner
d0a9060af9 [svn-r15788] Purpose: Update h5copy test script on Windows
Description:
The testfiles were moved to a new directory for the h5copy tests.  Update the Windows test script to use this new directory.

Tested:
VS2005 on WinXP
2008-10-06 13:55:33 -05:00
Scott Wegner
4ee45f7edd [svn-r15786] Purpose: Bring h5diff test updates to Windows
Description:
The test files used for the h5diff test script were recently moved to a new directory, and the format of the testing was changed.  This checkin brings the changes to Windows as well.

Tested:
VS2005 on WinXP
2008-10-06 13:43:18 -05:00
Scott Wegner
40b529efce [svn-r15785] Purpose: Bring Fortran H5_DBLE_InterfaceInclude.f90 and H5test_kind_SIZEOF.f90 to Windows
Description:
These files were ported from the trunk to the 1.8 branch in rev. 15727.  This checkin adds the new files to our Windows projects as well.  In particular, we use H5_DBLE_InterfaceInclude (rather than *Exclude), and have replaced H5test_kind.f90 with H5test_kind_SIZEOF.f90.

Tested:
VS2005 on WinXP (only build)
2008-10-06 11:57:12 -05:00
Scott Wegner
752010a3a7 [svn-r15784] Purpose: Minor update to h5repack Windows test script
Description:
The one final test that was failing was due to a filename change.  I missed it in Pedro's last update-- all tests pass now.
2008-10-06 11:39:38 -05:00
Scott Wegner
793510b1c1 [svn-r15783] Purpose: Update Windows h5repack test script for new directory
Description:
The h5repack test files were added to a new testfiles/ subdirectory, and the test script update.  This checkin brings those changes to Windows.  We also re-enable a test for the userblock which was disabled for other reasons before.

Note: One h5repack test is still failing, but I think it's a minor error that Pedro and I can correct fairly easily later today.

Tested
VS2005 on WinXP
2008-10-06 11:16:42 -05:00
HDF Tester
447739d9af [svn-r15781] Snapshot version 1.8 release 1 (snap6) 2008-10-05 22:11:40 -05:00
Christian Chilan
873503eb36 [svn-r15771] Added feature to display file open and close times.
Tested on kagiso and cobalt.
2008-10-03 15:50:19 -05:00
Neil Fortner
2d9122df16 [svn-r15768] Fix version numbers in vms h5pubconf.h
Tested: gedit
2008-10-03 12:00:54 -05:00
Vailin Choi
a0064d012a [svn-r15766] Modifications for bug #1247 so that the user can specify the driver
to use when opening the external linked target file.
1. Two new public routines are added to H5Plapl.c as well as
"del/copy/close" callbacks for the property itself.
2. Modify H5L_extern_traverse() to use the fapl set via
H5Pset_elink_fapl() and retrieve via H5Pget_elink_fapl().
3. Add 3 tests to links.c to verify H5Pset/get_elink_fapl().

Also fix the compiler warning for the "if condition" in
H5_build_extpath() of H5system.c.
2008-10-03 10:45:54 -05:00
Pedro Vicente Nunes
313d2cc82c [svn-r15759] move h5copy testfiles to /tools/h5copy/testfiles
tested: linux
2008-10-02 15:39:04 -05:00
Pedro Vicente Nunes
923d421509 [svn-r15754] Bug #1312
Solution:
Check for the existence of chunks before pruning them (an assertion was triggered when attempting to do so)

Tested: windows , linux, solaris
2008-10-02 13:12:23 -05:00
Pedro Vicente Nunes
bb206d572c [svn-r15750] move h5repack test files to /tools/h5repack/testfiles
tested: linux
2008-10-01 15:04:33 -05:00
Pedro Vicente Nunes
e43c4a5a38 [svn-r15745] Move h5diff testfiles to /tools/h5diff/testfiles
Tested: linux
2008-10-01 14:07:55 -05:00
Scot Breitenfeld
2041f537e6 [svn-r15742] Maintenance: Merged new Fortran Features and tests from trunk into hdf5_1_8 branch
(used svn merge -r 14941:15740 http://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran
              command).
2008-09-30 19:41:00 -05:00
Pedro Vicente Nunes
cdb4e39a13 [svn-r15731] #1307
A space id was not closed in H5PTopen

Tested: windows, linux
2008-09-30 13:25:14 -05:00
Scot Breitenfeld
35ef863573 [svn-r15728]
Cosmetic: Fixed spacing issue in Fortran summary output statement.
2008-09-30 11:45:31 -05:00
Scot Breitenfeld
fe1ca64d16 [svn-r15727]
Maintenance: Merged new Fortran Features and tests from trunk into hdf5_1_8 branch
             (used svn merge -r 14941:14525 http://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran
              command).
2008-09-30 11:42:10 -05:00
Scot Breitenfeld
f361635ae5 [svn-r15726] Description:
Made changes to reflect the changes made in the fortran directory which merged the fortran trunk into the 1.8 branch.
2008-09-30 11:39:35 -05:00
Scot Breitenfeld
b8ed65ed62 [svn-r15725] Description:
Made changes to reflect the changes made in the fortran directory; merged the fortran trunk into the 1.8 branch.
2008-09-30 11:36:29 -05:00
Pedro Vicente Nunes
0cd5c3edb2 [svn-r15720] Added a file with user block data to be used by the h5repack windows shell script only Note: for the unix shell script this file is not used 2008-09-29 13:11:39 -05:00
Scott Wegner
7a86d8e3d3 [svn-r15719] Purpose: Update Windows h5import test script, and disable a h5repack test
Description:
The test script format was changed for h5import, including many file-name changes.  This checkin brings those updates to Windows.

This checkin also disables a previously-added h5repack test for the userblock.  The test is disabled for now because Windows cannot find the input file ublock.bin.  The file is generated dynamically on other systems, but cannot be easily generated for use on Windows.  We should re-enable this test in the future when ublock.bin is added to svn.

Tested:
VS2005 on WinXP
2008-09-29 11:52:52 -05:00
Pedro Vicente Nunes
e8630b6e80 [svn-r15718] renamed generated binary files to have the extension .bin and the same name as the associated .conf file
tested: linux
2008-09-29 11:15:58 -05:00
HDF Tester
993baa185a [svn-r15715] Snapshot version 1.8 release 1 (snap5) 2008-09-28 17:50:03 -05:00
Albert Cheng
ebd7c384e0 [svn-r15712] Purpose:
features.

Description:
Added -shlib tests and verbosity control.

Tested Platform:
Kagiso.
2008-09-27 04:17:18 -05:00
Raymond Lu
501e01d388 [svn-r15707] I changed the return values of H5Fget_obj_ids and H5Fget_obj_count to ssize_t and modified
C++ and Fortran API functions.  This is for bug #1245. 

Tested on kagiso - I've tested the same change using h5committest.
2008-09-26 14:45:43 -05:00
Pedro Vicente Nunes
d711cb1a3b [svn-r15706] make a test generate a LE output for test portability
tested: linux, solaris
2008-09-26 14:23:10 -05:00
Quincey Koziol
fa3617e1ce [svn-r15702] Description:
Bring back r15701 from trunk:
        Remove some unused variables

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    Too minor to require h5committest
2008-09-25 18:00:13 -05:00
Pedro Vicente Nunes
0fffc46964 [svn-r15700] added wb falg to read binary files in WIN32
tested: windows
2008-09-25 15:48:22 -05:00
Pedro Vicente Nunes
64b3c0a961 [svn-r15698] renamed input text files to have the extension .txt
tested: linux
2008-09-25 10:46:41 -05:00
Pedro Vicente Nunes
d1aa3ee4d7 [svn-r15697] renamed configuration files to have the extension .conf
tested: linux
2008-09-25 10:28:43 -05:00
Pedro Vicente Nunes
1294681ee1 [svn-r15695] update manifest 2008-09-24 16:19:34 -05:00
Pedro Vicente Nunes
6669874698 [svn-r15694] 1)
Bug fix #1281
The TEXTFPE was described in the usage (read floats in scientific notation) but was not implemeneted.
Solution:
remove TEXTFPE from the help system and have the TEXTFPE input type do
the same thing as TEXTPF currently does to support backwards compatibility (the format read for both TEXTFPE and TEXTPF is %f)
added a test

2)
renamed configuration files to have the extension .conf

tested: windows, linux
2008-09-24 16:13:49 -05:00
Pedro Vicente Nunes
f1b33ea578 [svn-r15685] New feature (h5diff -c) 2008-09-23 11:28:21 -05:00
Neil Fortner
cf451beffa [svn-r15683] Purpose: fix bug 1298
Description: The optimized "subset" compound conversion function would
improperly copy the "blank" space at the end of compound types.  Modified
H5T_conv_struct_init to detect when the subset type has extra space at the end,
and calculate the size of the data that should be copied into the conversion
buffer for each element.  Changes to the functions that implement these
conversions.

Tested: kagiso, linew, smirom (h5committest)
2008-09-22 18:41:58 -05:00
Pedro Vicente Nunes
299ebc0d7f [svn-r15680]
Formatted code
Tested: windows, linux
2008-09-22 16:24:22 -05:00
Quincey Koziol
926cfe52cc [svn-r15677] Description:
Bring r15676 back from trunk:

        Centralize all macros for declaring "magic numbers"/signatures for
    objects in the file into src/H5Fprivate.h, so it's easier to know what
    values have already been defined, etc.

Tested on:
    Mac OS X/32 10.5.5 (amazon)
    Too minor to require h5committest
2008-09-22 12:33:58 -05:00
Neil Fortner
531822d443 [svn-r15672] Add missing test file, re-add it to the manifest (sorry).
Tested: kagiso
2008-09-21 23:54:38 -05:00
Quincey Koziol
23971ded14 [svn-r15671] Description:
Update MANIFEST w/changes to files.
2008-09-21 20:29:05 -05:00
Neil Fortner
13f5dbc05d [svn-r15669] Purpose: Add feature requested in bug #1282
Description: Adds capability to h5ls to traverse external links when the -r
(recursive) option is given.  Changes to the way absolute path names are patched
in h5trav.c.  Changes to the way recursive traversal starting from a non-root
group is handled (which also fixes some preexisting issues).  Tests added for
these cases.

Tested: kagiso, smirom, linew (h5committest)
2008-09-21 13:36:09 -05:00
Albert Cheng
50f38c5e59 [svn-r15666] Bug fix: (ID 1157)
Description:
Program would crash, complaining MPI calls were invoked after
MPI_Finalize() has occurred. Previously, H5close() before
MPI_Finalize() would remove the crash.

Solution:
It turned out that two H5 property objects (mpio_pl and acc_tpl)
were not closed before MPI_Finalize().  In the at_exit code,
HDF5 library attempted to close them by releasing the MPI Communicators
in them too. That was the error. Adding code to close them properly
before MPI_Finalize() took care things.

Tested:
Only in kagiso parallel. Did not run h5committest since
kagiso would have been the one running parallel test. This
part of code would not be compiled at all in non-phdf5 mode.
2008-09-19 18:19:53 -05:00
Pedro Vicente Nunes
8b5ced23dc [svn-r15663] fix comments
tested: linux
2008-09-19 15:04:28 -05:00
Pedro Vicente Nunes
d8e1072732 [svn-r15662] Cleaned compiler warnings
Bug fixes: change the options block size variable from int to hsize_t, to match the H5Pset_userblock call,
do not print print compression ratio when the requested filter is NONE


Tested: windows, linux
2008-09-19 13:57:28 -05:00
Neil Fortner
8436735388 [svn-r15657] Purpose: fix bug 1286
Description: Added configure test to see if pointer alignment restrictions are enforced (as in dereferencing an unaligned pointer causes an error).  Added code in H5Tvlen.c to avoid dereferencing unaligned pointers, conditionally compiled based on the configure test.  Added test case in dtypes.c which would previously cause such machines to fail.

Tested: kagiso, smirom, linew (h5committest); linew64
2008-09-18 15:54:36 -05:00
Christian Chilan
6ddb6ed83f [svn-r15654] Changed the absolute path of the data file to a relative path.
Tested on kagiso, smirom, and linew.
2008-09-18 14:24:32 -05:00
Christian Chilan
c50c3789fa [svn-r15648] Included macros for portability of h5perf code among HDF5 versions.
Tested on kagiso, abe, and cobalt.
2008-09-17 16:23:11 -05:00
Pedro Vicente Nunes
f140118469 [svn-r15646] Cleaned compiler warnings
Bug fix: change the options block size variable from int to hsize_t, to match the H5Pset_userblock call

Tested: windows, linux
2008-09-17 11:41:54 -05:00
Scot Breitenfeld
313cfa6e65 [svn-r15644] Description:
Fixed print spacing issue.
2008-09-17 11:32:35 -05:00
Pedro Vicente Nunes
c3113b0e3c [svn-r15642]
Add a default user block size of 1024 when none is given

add a failure condition of writing user block

Tested: windows, linux
2008-09-17 11:04:37 -05:00
Scot Breitenfeld
3f043d5cca [svn-r15640] Description:
Added test routines for h5t_get/set_fields_f.
2008-09-17 10:53:09 -05:00
Albert Cheng
b93a55bbcd [svn-r15638] Bug 710: partial fix.
Temporary removed b2 from the --enable-debug=all list so that this option
will pass. "configure --help" lists the --enable-debug=all and users tend
to use it and end up with compile failures in the b2 debug code.  Since this
bug will not be fixed soon, this is a temporary fix to let the configure and
build work.

Tested:
h5committest plus "--enable-debu=all" test in kagiso.
2008-09-16 16:26:38 -05:00
Scot Breitenfeld
d45346f76c [svn-r15631] Description:
In nh5tget_offset_c:

(1) The return value type of H5Tget_offset was set to size_t where
    it should be of type int.

(2) Was if offset was equal to 0 it returned the error code of -1 back to 
    Fortran, this was changed to return an error code of -1 when the
    offset value is < 0.

In h5tget_norm_c:

(1) was if the return value of H5Tget_norm = 0 it would return an error
code to Fortran, but from enum of the return value:

typedef enum H5T_norm_t {
    H5T_NORM_ERROR       = -1,  /*error                                      */
    H5T_NORM_IMPLIED     = 0,   /*msb of mantissa isn't stored, always 1     */
    H5T_NORM_MSBSET      = 1,   /*msb of mantissa is always 1                */
    H5T_NORM_NONE        = 2    /*not normalized                             */
    /*H5T_NORM_NONE must be last */
} H5T_norm_t;

only when -1 is returned is there an error, changed it to return an error only if the value of H5T_NORM_ERROR = -1.
2008-09-16 12:05:25 -05:00
Quincey Koziol
b9be045596 [svn-r15629] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

   foreach f (*.[ch] *.cpp)
       sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
   end

Tested on:
   Mac OS X/32 10.5.5 (amazon)
   No need for h5committest, just whitespace changes...
2008-09-16 11:22:16 -05:00
MuQun Yang
37a1f87664 [svn-r15625] This check-in fixes a bug inside parallel HDF5 testsuite.
When enable-debug is turned on, a special macro block H5_HAVE_INSTRUMENTED_LIBRARY inside HDF5 will be executed to check if some collective chunk IO test cases are being run with the correct settings(one link, multiple chunk etc.). However,when complicated derived datatype in some mpi-io packages are not supported, the library has to switch one link IO with/without the optimization to multiple chunk IO with/without the optimization. The current testsuite doesn't know this and generates a false assertion failure message.

This check-in fix this problem by providing a second property to avoid the false faiure message.


Tested at abe(NCSA linux cluster) and kagiso.
2008-09-15 17:25:31 -05:00
MuQun Yang
0a654a9df9 [svn-r15624] This check-in fixes a bug inside parallel HDF5 testsuite.
When enable-debug is turned on, a special macro block H5_HAVE_INSTRUMENTED_LIBRARY inside HDF5 will be executed to check if some collective chunk IO test cases are being run with the correct settings(one link, multiple chunk etc.). However,when complicated derived datatype in some mpi-io packages are not supported, the library has to switch one link IO with/without the optimization to multiple chunk IO with/without the optimization. The current testsuite doesn't know this and generates a false assertion failure message.

This check-in fix this problem by providing a second property to avoid the false faiure message.
2008-09-15 17:20:16 -05:00
HDF Tester
260228e645 [svn-r15621] Snapshot version 1.8 release 1 (snap4) 2008-09-14 17:50:44 -05:00
Quincey Koziol
80b958d8b4 [svn-r15613] Description:
Bring back r15612 from trunk:
        Minor cleanups of formatting, etc.

Tested on:
    Mac OS X/32 10.5.4. (amazon)
    Too minor to require h5committest
2008-09-11 07:36:08 -05:00
Quincey Koziol
d517c77bc0 [svn-r15610] Description:
Bring r15609 back from trunk:
        Omnibus compiler warning cleanup & some formatting happiness.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-09-10 14:53:38 -05:00
MuQun Yang
fc7993a9f0 [svn-r15605] The MPI compiler(mvapich2-0.9.8p2patched-intel-ofed-1.2) at NCSA's linux cluster(Abe) fails to handle collective IO calls with very complicate MPI derived datatype. All the values of input parameters from HDF5 are correct before passing to MPI-IO collective calls. Sometimes the following errors happen:
rank 0 in job 77  honest1.ncsa.uiuc.edu_60945   caused collective abort of all ranks
  exit status of rank 0: killed by signal 9

Up to this point, we decide to turn off the use of advanced MPI derived datatype features inside HDF5 so that complicated selection tests are ensured to be handled by HDF5.  This check-in reflects this.
2008-09-08 17:55:07 -05:00
HDF Tester
2b6b6825ab [svn-r15597] Snapshot version 1.8 release 1 (snap3) 2008-09-07 20:46:57 -05:00
Scott Wegner
6e009f1851 [svn-r15594] Purpose: Add new Fortran DEF file to Windows DLL project
Description:
All of the Windows-specific Fortran DLL code has been moved to a new file, hdf5_fortrandll.def.  This file needs to be added to the Windows hdf5_fortrandll project link properties.

Tested:
Vs2005 & IVF9.1 on WinXP
2008-09-05 09:39:18 -05:00
Scott Wegner
a8fbaf9ecd [svn-r15589] Purpose: Add new h5repack tests to Windows
Description:
New h5repack tests were added in revision 15551 and 15557, and also the syntax of one test was changed.  This was causing errors on Windows.  This checkin should fix those errors.

Tested:
VS2005 on WinXP
2008-09-03 11:30:40 -05:00
Scott Wegner
442565636a [svn-r15583] Purpose: Add Windows Fortran DLL export code to separate DEF file.
Description:
In in Fortran source code, there was a great deal of code that was necessary for Windows DLLs, and ignored for others systems.  To remove some of the bloat in the source code, we moved these definitions into separate *.def file, which will be used on by the Windows DLL project.

Tested:
VS2005 on WinXP

Note: The Windows project file will still need to be edited-- I will check that in soon.
2008-09-03 10:01:28 -05:00
Christian Chilan
39b9ddf4c8 [svn-r15581] Added script to build h5perf_serial in standalone mode.
Tested on kagiso, smirom, and linew.
2008-09-02 16:12:42 -05:00
HDF Tester
9c9337e3fd [svn-r15567] Snapshot version 1.8 release 1 (snap2) 2008-08-31 23:50:51 -05:00
Christian Chilan
c9af566e1d [svn-r15562] Added support for serial prefix HDF5_PREFIX.
Tested on kagiso, smirom, and linew.
2008-08-29 16:31:04 -05:00
Pedro Vicente Nunes
84335f79c6 [svn-r15560] new feature for h5repack (alignment) 2008-08-29 15:42:23 -05:00
Pedro Vicente Nunes
13f357a946 [svn-r15558] 1) There are 2 new command line parameters for h5repack. Together they allow a call to H5Pset_alignment to be made
-t T, --threshold=T     Threshold value for H5Pset_alignment
   -a A, --alignment=A     Alignment value for H5Pset_alignment


2) bug fix
the printing of the dataset name was not done for references (verbose mode)


tested: windows, linux
2008-08-29 15:35:51 -05:00
Neil Fortner
ca4379362b [svn-r15553] Fix potential memory leak in H5E_close_msg_cb.
Tested: kagiso
2008-08-28 17:08:06 -05:00
Scott Wegner
6803ed3729 [svn-r15542] Purpose: Add new h5repack test to Windows
Description:
There was one new h5repack test added recently.  This commit also adds it to the Windows test script

Tested:
VS2005 on WinXP
2008-08-27 09:53:58 -05:00
Pedro Vicente Nunes
9fafbf5a5f [svn-r15536] add a mention to h5repack new feature 2008-08-26 11:14:02 -05:00
Pedro Vicente Nunes
23cd7c534b [svn-r15533] #1184
Add a userblock to an HDF5 file during the repack.  The user gives  
give a filename and userblock size as command line parameters to  
h5repack and the contents of that file are stored in the  
userblock for the HDF5 file created by h5repack.


New flags to handle this -u and -b
Tested : windows, linux
2008-08-26 11:02:44 -05:00
Scott Wegner
cb166460d0 [svn-r15523] Purpose: Backport from trunk-- Fix Windows link dependencies in new app_ref DLL project
Description:
The app_refdll project was set to link with static version of hdf5 and libtest projects, which were causing the build to fail, only in Visual Studio .NET 2003, and was previously overlooked.  This corrects those errors.

Tested:
VS.NET on WinXP
2008-08-25 09:38:38 -05:00
Neil Fortner
b134708f2e [svn-r15516] Fix faulty error checking in call to H5I_remove().
Add prototype to the top of app_ref.c to suppress warning.

Tested: kagiso
2008-08-21 17:39:35 -05:00
Quincey Koziol
7a2756e7ae [svn-r15513] Description:
Bring back r15510 & r15512 from trunk:

    Fix compiler warnings and formatting.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    More tests upcoming
2008-08-21 16:15:00 -05:00
Pedro Vicente Nunes
428715468b [svn-r15511] bug fix
when comparing attributes, a type ID was not properly closed 


solution: close the Id on the iteration and continue instead of goto out of the cycle

tested: windows, linux
2008-08-21 15:39:27 -05:00
Scott Wegner
7dbcf115dd [svn-r15508] 2008-08-21 12:59:58 -05:00
Quincey Koziol
742fd2739e [svn-r15507] Description:
Bring r15501 back from trunk:

    Clean up warnings.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-08-21 12:04:04 -05:00
Neil Fortner
e70ea8d243 [svn-r15506] Change the names of some macros in app_ref.c to prevent warnings on Windows.
Tested: kagiso
2008-08-21 11:50:14 -05:00
Neil Fortner
2ab2b19d71 [svn-r15492] Added missing test. 2008-08-19 20:25:13 -05:00
Quincey Koziol
9e2496e85c [svn-r15490] Description:
Update release notes for last bug fix.
2008-08-19 14:43:56 -05:00
Quincey Koziol
7637f1b521 [svn-r15489] Description:
Bring rev. 15488 back from trunk:

    Fix bug where library could core dump when an invalid location ID was
passed to H5Giterate() (and add test for this case).

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-08-19 14:42:11 -05:00
Neil Fortner
4b141cbc6a [svn-r15486] Purpose: Allow library to shut down properly when objects have reference count
> 1.

Description: Added a new field 'app_count' to H5I_id_info_t struct, to track
    the reference count on an id due to the application.  the old 'count' field
    tracks the total.  Generally any id visible to the application gets placed
    in app_count.  Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref,
    H5I_register, H5I_clear_type, and a few other functions, to specify whether
    the operation(s) being performed on the id(s) are due to the application
    (TRUE) or not (FALSE).  Test added for this case.

Tested: kagiso, smirom, linew (h5committest)
2008-08-19 11:36:55 -05:00
HDF Tester
e660080290 [svn-r15480] Snapshot version 1.8 release 1 (snap1) 2008-08-17 18:16:49 -05:00
Neil Fortner
f6f7968df4 [svn-r15478] Removed vestigal code from H5SM_delete_from_index() which would have
dereferenced an uninitialized pointer if it had been reachable.  Closes bz
#1280.

Tested: kagiso, smirom, linew (h5committest)
2008-08-17 13:04:51 -05:00
HDF Tester
3d53b71a91 [svn-r15471] Snapshot version 1.8 release 1 (snap0) 2008-08-13 22:25:51 -05:00
Quincey Koziol
367f2125d9 [svn-r15463] Description:
Bring revision 15462 (compiler warnings) back from trunk.

Tested on:
    Mac OS X/32 10.5.4 (amazon) w/FORTRAN & C++
    (Too minor to require h5committest)
2008-08-12 08:33:49 -05:00
Neil Fortner
f040f990a0 [svn-r15459] Purpose: Modify the library to take the proper action when files with incorrect
datatype versions are encountered.

Description: The library now recognizes some problems with datatype versions in
H5O_decode_helper(), and, if not performing strict format checks, automatically
corrects them.  Framework added for other message decode routines to
automatically correct file errors.  Datatype version information added to
h5debug.  Resolves bz#1236, 1266.  Test files with incorrect datatype versions
corrected.

Tested: kagiso, smirom, linew (h5committest)
2008-08-11 10:18:54 -05:00
Neil Fortner
2df9af6ae8 [svn-r15450] Purpose: Fix various problems that were occurring when using mounted files.
Description:
Moved mount table from top file structure to shared file structure.  Moved
parent out of mount table and back into top file structure.  mounted files can
now be accessed from any handle of the parent file.  Changes to how files are
closed.  Stricter cycle checking on mounted files.  Removed unused function
H5F_has_mount().

Tested:
kagiso, smirom, linew (h5committest)
2008-08-07 16:32:36 -05:00
Pedro Vicente Nunes
c827f0450c [svn-r15447]
bug fix


http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=788
don't print array indices for regions


tested: windows, linux
2008-08-07 10:35:42 -05:00
Scott Wegner
dc7d4bc0a7 [svn-r15441] Purpose: Backport from trunk: Bring the Windows H5pubconf.h up-to-date
Description:
This commit is a major update to the Windows-maintained H5pubconf.h file.  This file is statically-distributed because Windows cannot generate it dynamically as other platforms do.  Previously, our Windows version contained a minimal subset of the macro definitions required.  To update, I've gone through each macro (based on kagiso's output), and tested for the correct value on Windows.  This allows us to better target code based on feature flags.  It should also be easier to update in the future as changes are made to the configure script.

This commit also contains one small bug fix in h5ls.c.  Some Windows-specific code was missing a local variable definition.  The bug went unnoticed because Windows didn't define the feature flag correctly.

I've also made changes to the h5vers script.  Whenever the version string is incremented (automatically by h5test after a snapshot), the strings in H5pubconf.h will also be updated.

Tested:
VS2005 on WinXP (32- and 64-bit)
VS.NET on WinXP 32-bit
h5vers tested under Cygwin
2008-08-06 15:04:37 -05:00
Pedro Vicente Nunes
a3d10354eb [svn-r15436] bug fix
the compression ratio was being printed for cases where a layout was requested and not a filter


tested: windows, linux
2008-08-06 10:26:21 -05:00
Scott Wegner
943aa55852 [svn-r15435] Purpose: Update Windows test script for new h5diff option: -c
Description:
A new parameter was added to h5diff recently.  We add a new test to the h5diff script, and change the syntax in which h5diff is called from the h5repack test script

Tested:
VS2005 on WinXP
2008-08-06 08:35:44 -05:00
Pedro Vicente Nunes
24739917cb [svn-r15434] new file for h5diff test 2008-08-05 14:37:38 -05:00
Pedro Vicente Nunes
e46107ca75 [svn-r15433] http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1170
Summary: when using h5diff to compare the results of h5repack (or other tools that copy one HDF5 file to another), a new option is needed to allow h5diff to make an "absolute" comparison of the 2 files. This is the "contents" mode explained in the usage below.


If this mode is present, objects in both files must match (must be exactly the same). If this does not happen, the tool returns an error code of 1 (instead of the success code of 0)


Changes to the h5repack test script: the call to h5diff was changed to include -c (maintaining the previous -q). 


tested: windows, linux
2008-08-05 14:35:46 -05:00
Scot Breitenfeld
d364dc74a4 [svn-r15424] Description:
Fixed the error of passing an array to a scalar.
2008-07-29 09:19:19 -05:00
Scot Breitenfeld
607cadc648 [svn-r15419] Description:
Initialized a string with a space instead of a blank

i.e. var = '' is now var = ' '

This fixes a problem with AIX for bug 1252
2008-07-28 14:42:33 -05:00
Scot Breitenfeld
ec1358b0ca [svn-r15416] Description:
Changed the INTENT for total_error to be consistantly
INTENT(INOUT)

as noted in bug 1251
2008-07-28 12:33:38 -05:00
Scot Breitenfeld
adb2280c71 [svn-r15415] Description:
Added missing comma, i.e.

WRITE(*, "("" subroutine i"" i2.2,""()"")") j

should be

WRITE(*, "("" subroutine i"", i2.2,""()"")") j

etc...

as noted in bug 1251 and NAG compiler.


Checked the write fix using Sun f95, g95, pgf90, gfortran, ifort, absoft and all gave the correct write output.
2008-07-28 12:31:03 -05:00
Binh-Minh Ribler
98fdd752a4 [svn-r15404] Purpose: Code correction
Description:
    Accidentally left p_setId in public section in the previous checkin.
    Moved it to "protected:" section.

Platforms tested:
    Linux 2.6 (kagiso)
    SunOS 5.10 (linew)
    FreeBSD (duty)
2008-07-24 23:10:07 -05:00
Binh-Minh Ribler
836f7b53cc [svn-r15401] Purpose: Fix bug
Description:
    Changed all subclasses' setId to p_setId and put back setId in
    IdComponent.  p_setId is used in the library where the id provided
    by a C API passed on to user's application in the form of a C++ API
    object, which will be destroyed properly, and so p_setId does not
    call incRefCount.  On the other hand, the public version setId is
    used by other applications, in which the id passed to setId needs
    to be closed properly by the application, so setId must call incRefCount
    for the new object to prevent prematurely closing of the id.

Platforms tested:
    Linux 2.6 (kagiso)

    Still on going with these two platforms, but needed to check in before
    daily tests start.
    SunOS 5.10 (linew)
    FreeBSD (duty)
2008-07-24 16:18:28 -05:00
Christian Chilan
e1ee78dd09 [svn-r15398] Added declaration of functions needed for standalone building.
Tested on kagiso and abe.
2008-07-23 15:50:33 -05:00
Raymond Lu
9b6cc394cd [svn-r15392] Minor bug fix. The test tried to close an attribute handle with H5Pclose. Corrected it with
H5Aclose.  

No test needed.
2008-07-22 09:47:18 -05:00
Raymond Lu
e7037ad072 [svn-r15390] Last round of checkin introduced a bug. This checkin corrected it and made a few minor
changes.  

Last round of check in fixed the problem when an attribute was opened twice and data was 
written with one of the handles, the file didn't have the data.  It happened because each 
handle had its own object structure, and the empty one overwrote the data with fill value.
This is fixed by making some attribute information like the data be shared in the
attribute structure.

Tested on smirom, kagiso, and linew.
2008-07-21 11:50:22 -05:00
Binh-Minh Ribler
60957dc6cf [svn-r15387] Purpose: Fix bug
Description:
    Enclosed some code that test reference counts in brackets so that
    temporary objects will go out of scope before checking references.
    This is to work around the issue where some C++ compilers destroy
    temporary objects at different time than others.

Platforms tested:
    SunOS 5.10 (linew)
    Linux 2.6 (kagiso)
    FreeBSD (duty)
2008-07-18 16:05:05 -05:00
Binh-Minh Ribler
d6dc8a4dfd [svn-r15386] Purpose: Fix bug
Description:
    A bug in reference counter was exposed when Ray fixed H5Awrite in
    the main library.  ::setId() called incRefCount when it shouldn't.
    Made sure that id's reference counter is manually incremented
    properly in copy constructor and operator= only.  The main library
    handles the rest.

Platforms tested:
    SunOS 5.10 (linew)
    Linux 2.6 (kagiso)
    FreeBSD (duty)
2008-07-18 15:49:32 -05:00
Quincey Koziol
99e21e85c9 [svn-r15385] Description:
Correct return value for error condition to avoid compiler warning

Tested on:
    Just eyeballed, very minor
2008-07-18 09:08:21 -05:00
Christian Chilan
8b3ced0b9e [svn-r15384] Major update of h5perf files including bug fixes and extensions.
Tested on kagiso and abe.
2008-07-17 17:45:40 -05:00
Scot Breitenfeld
ba711c9cf5 [svn-r15379] Description:
Added optional "mounted" parameter to H5Gget_info_f, H5Gget_info_by_idx_f, H5Gget_info_by_name_f
2008-07-16 14:16:17 -05:00
Quincey Koziol
9981e28710 [svn-r15376] Description:
Bump shared library version # for change to H5G_info_t struct
2008-07-16 10:30:32 -05:00
Quincey Koziol
583eac5e6d [svn-r15373] Description:
Correct wrong error return value to avoid compiler warning

Tested on:
    Just eyeballed, extremely minor
2008-07-16 10:11:50 -05:00
Quincey Koziol
f21b99b592 [svn-r15371] Description:
Update release notes for file mounting bug fix and adding 'mounted' flag
to H5G_info_t.
2008-07-15 17:43:22 -05:00
Quincey Koziol
d6dadadc7e [svn-r15368] Description:
Bring back r15367 from the trunk:

    Add check to avoid mounting a file on a group twice, when the mounts
are done on the same HDF5 file, but opened with separate H5Fopen queries.

    Also add new 'mounted' flag to the H5G_info_t struct, queried with the
H5Gget_info() API call, to allow applications to detect and avoid this
situation.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Linux/64 10.5.4 (chicago)
2008-07-15 16:23:19 -05:00
Raymond Lu
ac73359fb1 [svn-r15346] Commented out attribute test because there's a bug related to the recent change of attribute in
the library.  

No test - simple change.
2008-07-11 14:07:07 -05:00
Raymond Lu
32a3d96939 [svn-r15345] Commented out tsohm.c and tattr.c test because there's a bug related to the changes of attribute
in the library.

Tested on linew - simple change.
2008-07-11 14:05:31 -05:00
Scott Wegner
81de0a75cc [svn-r15338] Purpose: Reset fill value in correct hyperslab selection (fixes bug 1155)
Description:
This bug was previously fixed, but the fixed was modified slightly from the 1.8 branch and the trunk.  The problem is that after we write a particular byte to manipulate the fill values, we need to write it back before reading and comparing to the expected value.  The previous change makes the second write after the hyperslab is manipulated, so the initial hyperslab is still incorrect.

Tested:
VS2005 on WinXP (32- and 64-bit)
h5committest
2008-07-08 12:03:45 -05:00
Neil Fortner
d989ab71f4 [svn-r15336] Fixed incorrect error message in H5Pset_fletcher32:
"unable to add deflate filter to pipeline"
->
"unable to add fletcher32 filter to pipeline"

Tested: kagiso
2008-07-08 11:20:39 -05:00
Vailin Choi
0631ac2273 [svn-r15334] Update test files for h5stat.
h5committested.
2008-07-08 09:03:46 -05:00
Raymond Lu
9f56d7f5ab [svn-r15330] When an attribute was opened twice and data was written with one of the handles,
the file didn't have the data.  It happened because each handle had its own
object structure, and the empty one overwrote the data with fill value.  This is
fixed by making some attribute information like the data be shared in the
attribute structure.

Tested on smirom, kagiso, and linew.
2008-07-07 12:00:03 -05:00
Scott Wegner
1f4ee5485e [svn-r15313] Purpose: Support Visual Studio 2008 on Windows
Description:
Write documentation for building HDF5 with the latest version of Visual Studio, 2008.  The process is very similar to building with Visual Studio 2005, but with an automatic project-file conversion beforehand.

Also adapt commandline build scripts for Visual Studio 2008 as well.

Tested:
VS2008 on WinXP
2008-07-02 14:49:20 -05:00
Raymond Lu
d238f0663c [svn-r15305] Changed H5Tcreate_array to H5Tcreate_array2 from last checkin for the bug fix for
H5Tpack.  The problem was that H5Tpack didn't act correctly with nested
compound datatype.

Tested on smirom - simple change.
2008-07-01 11:25:08 -05:00
Scott Wegner
7447d79091 [svn-r15304] Purpose: Minor typo in Windows documentation (zlib DLL directory)
Description:
When specifying library search path in Visual Studio, use the DLL folder for zlib.  Previously we pointed to the "lib" folder, which was causing confusion.
2008-06-30 15:13:23 -05:00
Scott Wegner
0c0e746ce7 [svn-r15302] Purpose: Support Intel Visual Fortran 10.1 from Visual Studio and Windows command line
Description:
Modify Windows documentation to support Intel Visual Fortran 10.1.  We have tested it in our Virtual machines, and have fixed the problems we were encountering.

Also, add a new parameter to the hdf5build.BAT and hdf5bt.BAT build scripts to support IVF 10.1.
2008-06-30 14:19:11 -05:00
Raymond Lu
2b1ee377c3 [svn-r15297] Bug fix for H5Tpack. The problem was that H5Tpack didn't act correctly with nested
compound datatype.  The size of compound type's member type wasn't updated.  It's
fixed in this commit.

Tested on smirom.  The same change was tested on three systems for v1.9.
2008-06-30 14:00:44 -05:00
Scott Wegner
372af0302f [svn-r15289] Purpose: Project Cleanup / Support directories with spaces
Description:
On Windows, we manage dynamically-generated code through "post-build" steps in Visual Studio.  However, the command for it wasn't checking to see if the code already existed, so it was re-generating in each build (and thus re-generating all dependencies).  To overcome, we simply check if the source file exists before generating it.

Also, put all paths inside quotes so we can handle directory names with spaces.

Tested:
VS2005 on WinXP
2008-06-27 11:55:02 -05:00
Scott Wegner
0dd254246c [svn-r15287] Purpose: Fix project settings for Intel Fortran 10.1
Description:
A typo in the project output file name was causing Intel Fortran 10.1 to crash.  The output file was set to "$(OutDir)\hdf5_fortranddll.dll   " (three trailing spaces).  IVF 9.1 ignored this error and continued gracefully.  However, IVF 10.1 would simply crash.  With this fix, we can now build on IVF 10.1 (so far..)

Tested:
VS2008 w/ IVF 10.1 on WinXP
2008-06-27 11:26:41 -05:00
Neil Fortner
11b12d8f96 [svn-r15284] Fixed bug 1155, added fillval.c back to windows test file, other minor cleanup in fillval.c.
Tested: kagiso
Same fix in trunk: kagiso (parallel), smirom, linew
2008-06-26 11:18:22 -05:00
Scott Wegner
c3a26ef402 [svn-r15272] Purpose: Disable fillval test on Windows
Description:
The fillval test uses random input to test various fill cases.  Certain boundary cases cause the test to fail, which produces sporadic errors on Windows.  There is a bug filed for the issue here:
http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1155

We will disable the test until the bug is fixed.

Tested:
None, simply disabled.
2008-06-25 10:12:39 -05:00
Scot Breitenfeld
b950312318 [svn-r15255] Description:
Added the function h5tget_native_type and associated
requirements.
2008-06-20 11:38:54 -05:00
Scott Wegner
b5938a75af [svn-r15253] Purpose: Remove ttsafedll project from default build.
Description:
Somehow, the ttsafedll project was setup to build by default in Visual Studio .NET project files.  This causes build errors when the HDF5_EXT_PTHREAD variable isn't defined or the pthreads library path isn't setup.  It should be disabled by default.

Tested:
VS.NET on WinXP
2008-06-20 11:33:00 -05:00
Scott Wegner
f2a745a0bb [svn-r15241] Purpose: Port bugfix from trunk: Fix ohdr Windows timezone bug
Description:
On Windows, certain users were having trouble with the "ohdr" test, which does some processing on object header messages.  The errors were hard to reproduce on our machines, and we eventually determined that the errors were timezone-specific.

The bug is triggered on Windows when processing timestamps very near the "Epoch" (midnight on 1/1/1970)-- the mktime() function does some automatic adjustment on the time to correct for timezones.  In the USA, the correction adds a few hours; in Europe, it subtracts, thus giving us times pre-Epoch.

This only affects Windows because the Windows mktime() function cannot handle times before 1970-- other systems seemingly can.

The fix is to simply create timestamps only as early as 01/02/1970.  This way, any timezone adjustment will still be post-Epoch.

This bug only affects the ohdr test, and shouldn't be a problem in the library.  The earliest timestamps that will actually be read will be around the time HDF5 was created (~1996-7, per Quincey).

Tested:
(tested in trunk)
VS2005 on WinXP
h5committest (kagiso, linew, smirom)
2008-06-19 13:48:27 -05:00
Quincey Koziol
ea9b094c18 [svn-r15228] Description:
Bring back revision 15227 from trunk:

	Small cleanups to copying datatypes

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.5.3 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-06-17 15:07:50 -05:00
Quincey Koziol
e7b55928b6 [svn-r15214] Description:
Fix gcc 4.2 flag that was put in gcc 4.1 section

Tested on:
        Eyeballed & man pages
2008-06-13 07:29:07 -05:00
Quincey Koziol
970fcd54e0 [svn-r15212] Description:
Bring back revision 15211 from trunk:

        Update the gcc flags for version 4.3

        Clean up warnings

Tested on:
    Mac OS X/32 10.5.3 (amazon)
2008-06-12 23:55:44 -05:00
Quincey Koziol
c7ad57374b [svn-r15209] Description:
Bring back revision 15208 from trunk:

    Add a "HDcompile_assert" macro for assertions that can/should be checked
at compile time, as opposed to run time.  (And used it for a couple of simple
cases, to begin)

Tested on:
    Mac OS X/32 10.5.3 (amazon)
2008-06-12 14:36:01 -05:00
Quincey Koziol
7dcf5b3972 [svn-r15189] Description:
Bring revision 15188 back from trunk:

        Avoid leaking memory when copying the internal "shared" struct for
a named datatype when it's already been opened earlier.

Tested on:
	Linux/64 2.6 (chicago)
2008-06-10 12:28:42 -05:00
Scott Wegner
6df2bbd6e9 [svn-r15181] Purpose: _WIN32 macro cleanup
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code.  There are many instances where Windows code is introduces via ifdef's.  We re-evaluate whether they are still required, and found that many of them are not.  Others we change to "feature"-specific code, rather than Windows-specific.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
2008-06-09 12:31:22 -05:00
Christian Chilan
0304c9a5fa [svn-r15180] Change copyright notice to THG only. 2008-06-09 12:19:55 -05:00
Scott Wegner
720a985115 [svn-r15163] Purpose: Create new HDpthread_self and HDpthread_self_ulong macros
Description:
On Windows, the pthread_self function cannot be used to print the returned thread ID for debugging.  Instead, we need a separate function, GetCurrentThreadId.  To eliminate some Windows ifdef's in the code, we create two new function macros which can be used by all platforms.  It is conditionally defined in H5win32defs.h, and globally in H5private.h.

Tested:
VS2005 w/ pthreads on WinXP
kagiso w/ pthreads
2008-06-06 14:10:20 -05:00
Scott Wegner
0b5f34bfa6 [svn-r15160] Purpose: Separate Windows function macro definitions to win32defs.h
Description:
In library code, we try not to use system calls directly, but instead use the HD{function} macro instead.  This way, we can map special versions of the call on particular systems.  Previously, it was all done in H5private.h.  However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h.  This way, we can use the non-Posix versions that Visual Studio sends warnings about.

Some macros are set specifically in the platform-specific header files.  Then, any macros left unset will be set by the "default" implementation in H5private.h.

This checkin also cleans up various source files to use the HD* macros when possible.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagiso, linew, smirom)
2008-06-05 16:39:30 -05:00
Pedro Vicente Nunes
13cc35de11 [svn-r15159]
- h5dump: when doing binary output (-b), the stdout printing of attributes 
           was done incorrectly. Removed printing of attributes when doing binary 
           output. PVN - 2008/06/05
2008-06-05 16:23:09 -05:00
Scott Wegner
1c63211301 [svn-r15152] Purpose: Add testhdf5_1_8fortran[dll] Windows projects as dependencies to all_fortran
Description:
The projects testhdf5_1_8fortran[dll] which test the new fortran features in HDF5 1.8 were not registered as dependencies to the "all_fortran" pseudo-project.  As a result, the projects would not be built if you simply build all_fortran in Visual Studio, rather than "Build Solution".  This is a very minor cleanup, but is neccessary to be consistent in our projects.

Tested:
VS2005 on WinXP x64
2008-06-05 14:56:23 -05:00
Pedro Vicente Nunes
1229fc7886 [svn-r15151]
Fix for #1169
http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1169

don't print attributes to stdout when doing binary output
added an attribute to the file run on the binary output test

tested: windows, linux
2008-06-05 14:26:35 -05:00
Quincey Koziol
c7b6018bda [svn-r15148] Description:
Bring back revision 15146 from the trunk:

        Correct the definition of the 'nbytes' variable in the in-memory version
    of the B-tree key for chunks from 'size_t' to 'uint32_t', to match the
    definitions everywhere else.

Tested on:
    Mac OS X/32 10.5.3 (amazon) debug & production
    Linux/64 2.6 (chicago) production
2008-06-05 11:47:50 -05:00
Mike McGreevy
c72fb2f329 [svn-r15147] Purpose: Bug Fix
Description: Changing h5perf installation so only h5perf is installed when
             parallel is enabled, while only h5perf_serial is installed when
             parallel is disabled.

Tested: kagiso
2008-06-05 11:46:29 -05:00
Scott Wegner
7e8df66a0e [svn-r15144] Purpose: Add new h5ls test to Windows
Description:
A new test case was added to the general testh5ls script.  This update adds the test to Windows as well.

Tested:
VS2005 on WinXP
2008-06-05 10:10:23 -05:00
Albert Cheng
018ba9a701 [svn-r15136] Purpose:
bug fixes.

Description:
Added code to create an empty hdf5 (named h5diff_empty.h5) in order to test
if h5diff compares correctly an empty hdf5 vs. a non-empty one.

Tested:
Tested in kagiso of h5diffgentest itself.
Verified by h5dump that h5diff_empty.h5 was indeed empty.
Then "h5diff h5diff_empty.h5 h5diff_basic1.h5" returned 0 (should have
returned non-zero).
2008-06-04 12:14:23 -05:00
Quincey Koziol
6e196a7b66 [svn-r15134] Description:
Brought revision 15133 back from trunk:

        Fixed bug in h5ls that prevented relative group listings (like
    "h5ls foo.h5/bar") from working correctly.

Tested on:
    Mac OS X/32 10.5.3 (amazon)
2008-06-03 19:25:29 -05:00
Quincey Koziol
79380c228c [svn-r15132] Description:
Bring back revision 15131 from trunk:

        Finish omnibus chunked dataset I/O refactoring, to separate general
    actions on chunked datasets from actions that are specific to using the v1
    B-tree index.

        Cleaned up a few bugs and added some additional tests also.

Tested on:
    Mac OS X/32 10.5.3 (amazon)
    Linux/32 2.4 (chicago)
2008-06-03 15:34:58 -05:00
Christian Chilan
a9fa9a4a37 [svn-r15129] Revise man page and copyright notice.
Tested on smirom.
2008-06-03 00:29:41 -05:00
Scott Wegner
0eb9e1ac43 [svn-r15127] Purpose: Make Windows threadsafe debug message more useful
Description:
On Linux-like systems, we can get the ID of the current thread through a pthread_self.  However on Windows, the return cannot be cast as a threadID, so we simply couldn't get the ID.  Previously we simply gave up and printed a message that we couldn't get an ID.  Instead, though, we can use the Windows-specific call to GetCurrentThreadId(), which achieves the same goal.  This way we can provide better debug output with threadsafe features.

Tested:
VS2005 on WinXP
VS.NET on WinXP
(other platforms not tested because change is within _WIN32 ifdef)
2008-06-02 15:39:02 -05:00
Scott Wegner
73fe712356 [svn-r15125] Purpose: Cleanup unneeded Windows source
Description:
Previously, we maintained some source files that are commonly generated dynamically on other systems.  Now, we also generate them on Windows as well.  We should remove them from the repository so old versions are not accidentally used.

Also, clean up the project files to organize generator programs.

Tested:
VS2005 on WinXP
VS2005 on WinXP x64
VS.NET on WinXP
2008-06-02 14:59:45 -05:00
Scott Wegner
f1bfdda38c [svn-r15121] Purpose: Support Visual Studio .NET builds from command-line
Description:
In our Windows command-line build script, we now support building with Visual Studio .NET, although VS2005 is still the default.  Building with VS.NET still imposes the same feature restrictions as through the IDE:
-- 64-bit builds are unsupported
-- Fortran is unsupported

Tested:
VS.NET on WinXP
VS2005 on WinXP
2008-06-02 11:17:49 -05:00
Scott Wegner
8953ecfe9d [svn-r15120] Purpose: Ignore Windows POSIX-Depreciation warnings in Visual Studio 2005
Description:
On Windows, we receive many compiler warnings because Microsoft has implemented many "security-enhanced" versions of POSIX functions.  However, the old versions still exist, so the warnings can be ignored.  By setting a preprocessor definition, we can disable many of these warnings.  On a typical HDF5 build, this reduces the number of warnings from ~1500 to ~600

Tested:
VS2005 on WinXP
2008-06-02 11:14:56 -05:00
Scott Wegner
c65d5ffe8d [svn-r15118] Purpose: Backport Windows project cleanup from trunk: remove ignored system library, standardize program debug information, and unify Windows h5tinit
Description:
These changes are made via a user's suggestion, bugzilla bug #1164.  These have all been tested in the trunk, and are stable/favorable changes.

In many of our project files on Windows, we have our linker setting set to ignore old link libraries-- either libc.lib or libcd.lib.  This is a relic from converting project files from old versions of Visual Studio to newer ones, and is unnecessary.  We remove the ignored library from the project files.  This actually makes no difference in the output binaries.

In our debug project configurations, many of the projects were generating debug information for "Program Database and Edit & Continue".  Other projects were using different settings, or none at all. We standardize to use "Program Database" setting, because it generates much smaller .obj files and cuts out unnecessary debug information.

Previously, there was Windows-dependent code inside H5detect.c, because not all projects could access the gethostname() function.  However, we standardize our project-files to link with WS2_32.lib, so now this function is available.  Thus, the Windows-specific code has been removed from H5detect.c.

Tested:
VS2005 on WinXP
VS.NET on WinXP
2008-06-02 10:36:55 -05:00
Mike McGreevy
ac339aa792 [svn-r15111] Purpose: Bug Fix
Description: While '-Wl,-rpath' information was being removed from compile
             lines when using --disable-sharedlib-rpath, some information
             was still hidden in another variable that never got reset and
             thus snuck into the executables. This fix should take care of 
             that issue.

Tested: kagiso, smirom
2008-05-30 15:59:01 -05:00
Scott Wegner
454b061aa6 [svn-r15107] Purpose: Provide better fix for h5dump xml test failure on Windows
Description:
Shortly before the release, we noticed that one of our h5dump xml Windows tests failed when used with a release tarball.  This is because of the Unix-style EOL characters in the expected output.  For the release, we simply skipped the test.  However, we can instead convert the expected output to Windows EOL format, and run the test.  This is a backport from the HDF5 trunk.

Tested:
VS2005 on WinXP
2008-05-30 14:15:08 -05:00
Elena Pourmal
3605a2dc2d [svn-r15105] Maintenance: Modified version to 1.8.1-snap0, and updated HISTORY-1_8.txt and RELEASE.txt
for the further development in the branch.
2008-05-30 13:33:13 -05:00
Elena Pourmal
fbaf972a66 [svn-r15097] Maintenance: added g95 info for Linux 32 platforms and created a new source tar ball. 2008-05-29 15:30:57 -05:00
Elena Pourmal
727fa10578 [svn-r15091] Maintenance: used bin/release to release 1.8.1 tar ball (it is under /mnt/scr1/release-binary/hdf5/v181)
Checking in updated files before tagging the release.
2008-05-29 11:58:58 -05:00
HDF Tester
1d7ed4519c [svn-r15088] Update pgi version. 2008-05-28 16:53:06 -05:00
Binh-Minh Ribler
2cd6b67fd9 [svn-r15087] Purpose: Update for C++ API
Description:
    Noted the change from:
	void IdComponent::dereference(IdComponent& obj, void* ref)
    to
	void H5Object::dereference(H5File& h5file, void* ref)
	void H5Object::dereference(H5Object& obj, void* ref)
2008-05-28 16:48:59 -05:00
Albert Cheng
d317830e27 [svn-r15085] Updated version number to 1.8.1 to prepare for official release of v1.8.1. 2008-05-28 16:40:32 -05:00
Albert Cheng
3aa5d8b987 [svn-r15083] INSTALL_parallel:
Added and updated instructions for Red Storm serial and parallel build.
RELEASE.txt:
   Added Red Storm information.  Also, rearranged order of entries according
   to more recent first.
2008-05-28 16:32:32 -05:00
Elena Pourmal
b0fe33f243 [svn-r15080] Maintenance: Updated the file with the 1.8.0 release info (should be done long time ago ;-) before
rolling the 1.8.1 release tar ball.
2008-05-28 16:10:52 -05:00
Binh-Minh Ribler
bf9465c9cc [svn-r15079] Purpose: Update for C++ API
Description:
    Added notes about fixes of bugzillas 1045 and 1068.
2008-05-28 12:41:29 -05:00
Frank Baker
c6a0c6f6e7 [svn-r15078] Description:
Editorial pass
2008-05-27 17:26:04 -05:00
Scott Wegner
92fe8775dd [svn-r15077] Purpose: Comment out one Windows test that fails in release tarball
Description:
On test fails from the release tarball.  Specifically, the h5diff xml test for tsaf.h5.xml.  For some reason, fc (Windows diff utility) detects differences from the expected output if the file has unix-style end-of-line characters.  It only happens for this test.  I suspect it is because the file is so long, but it's too late to debug for the release.  Simply comment it out until we can fix it.

Tested:
VS2005 on WinXP (32- and 64-bit)
2008-05-27 15:25:15 -05:00
Larry Knox
726af41499 [svn-r15076] Update Platforms Tested and Supported Configuration Features Summary sections for THG and NCSA machines. 2008-05-27 14:50:30 -05:00
Elena Pourmal
c4200837ad [svn-r15071] Maintenance: Added information to the file for upcoming 1.8.1 release. There is still work to do
on this file before the source release.
2008-05-23 17:22:22 -05:00
Elena Pourmal
cd60d38593 [svn-r15068] Maintenance: used h5vers script to change version number to 1.8.1-rc1 before creating a tar
ball for remote testing
2008-05-22 17:07:25 -05:00
Scot Breitenfeld
ae27797c11 [svn-r15063] Description:
Added processor id in failure messages for MPI.
2008-05-21 14:52:03 -05:00
Scot Breitenfeld
f2989dab4c [svn-r15062] Description:
Removed extra MPI calls in subroutine by just passing
MPI variables into subroutines.

Added checks for MPI errors.

Cleaned-up formatting.
2008-05-21 14:43:22 -05:00
Elena Pourmal
b85229d0e2 [svn-r15059] Maintenance: File space identifier was not closed causing memory growth; fixed
Platforms tested: kagiso (minor fix)
2008-05-21 14:21:01 -05:00
Binh-Minh Ribler
e2b412cbf5 [svn-r15058] Purpose: Code cleanup
Description:
    Removed an unnecessary member function, H5File::dereference.

Platforms tested:
    SunOS 5.10 (linew)
    Linux 2.6 (kagiso)
    FreeBSD (duty)
2008-05-21 12:43:12 -05:00
Scott Wegner
85608c722a [svn-r15055] Purpose: Update Windows h5repack test script
Description:
Add a function to test old h5repack syntax, as well as a new test case for it.

Tested:
VS2005 on WinXP
2008-05-21 10:28:43 -05:00
Pedro Vicente Nunes
74568cf5ca [svn-r15053] Add a test for the 1.6.7 -i infile -o outifle for backward compability
Used the function TOOLTEST  from 1.6.7

Tested: linux
2008-05-21 09:57:30 -05:00
Binh-Minh Ribler
831fd1712c [svn-r15051] Purpose: Fix typo
Description:
    Remove c_str() from a String argument.

Platforms:
    SunOS 5.10 (linew)
    Linux 2.6 (kagiso)
    FreeBSD (duty)
2008-05-20 19:00:08 -05:00
Pedro Vicente Nunes
69929158f5 [svn-r15048] bug fix regarding change from -i to -d regarding number of links in indexed format
tested: windows
2008-05-20 15:35:09 -05:00
Binh-Minh Ribler
988e907b11 [svn-r15046] Purpose: Fixed bugs
Description:
    The class hierarchy was revised to address the problem reported in
    bugzilla #1068.  Classes AbstractDS and Attribute are moved out of
    H5Object.  Class Attribute now multiply inherits from IdComponent and
    AbstractDs and class DataSet from H5Object and AbstractDs.

    In addition, data member IdComponent::id was moved into subclasses:
    Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.

    Also fixed bugzilla 1045: revised Attribute::write and Attribute::read
    wrappers to handle memory allocation/deallocation properly. (bugzilla 1045)

Platforms tested:
    SunOS 5.10 (linew)
    Linux 2.6 (kagiso)
    FreeBSD (duty)
2008-05-20 15:24:44 -05:00
Albert Cheng
980d183790 [svn-r15045] Bug fix.
Description:
perf would crash at the end as it complained it was doing MPI calls after
MPI_Finalize() is called.  I suspect the HDF5 library is making MPI calls
in the at_exit area.  This should not happened.

Solution:
Added the H5exit() right before MPI_Finalize() fixed the problem.
But it needs to find out why HDF5 library is making MPI calls in
the at_exit() area.  It should not.
Also, changed the temporay data file name from /tmp/test.out to
perftest.out, both to avoid multiple instance of this may use the
same /tmp/xxx name and also make the file name less generic.

Tested:
Kagiso PP.
2008-05-20 14:08:45 -05:00
Albert Cheng
4344cf5391 [svn-r15042] Bug fix.
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output.  The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.

Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name.  Same for CXX_API.

Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all.  Added them in.

Platform tested:
Kagiso serial and h5committested (kagisopp, smirom, linew).
2008-05-19 20:29:26 -05:00
Mike McGreevy
6631ced7a9 [svn-r15040] Purpose: Configure Fix
Description: Removing make target 'make check-perform'. The extra target is 
             unneeded because the tests don't take as long to run as initially
             anticipated, and can be lumped in with 'make check'.

Tested: kagiso
2008-05-19 15:37:30 -05:00
Scott Wegner
d11a2b8ba6 [svn-r15039] Purpose: Update h5repack test script
Description:
1 new test added for command-line syntax compatibility

Tested:
VS2005 on WinXP
2008-05-19 10:32:15 -05:00
Quincey Koziol
8a2023b552 [svn-r15038] Description:
Bring revision 15037 from trunk:

    Better cleanup of internal structures when no szip encoder.

Tested on:
    Linux/32 2.6 (kagiso) w/szip-no encoder
2008-05-19 01:05:31 -05:00
Quincey Koziol
90b94c00fe [svn-r15035] Description:
Backport revision 15034 from trunk: 

	Correct another case of using 'size_t' for chunk sizes where 'uint32_t'
was necessary.

Tested on:
	FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN
2008-05-18 23:47:38 -05:00
Albert Cheng
feab08a0ee [svn-r15033] Purpose:
Improvement.

Description:
src/libhdf5.settings was the initial configure summary and is installed.
Then configure is changed to dump a summary of the configure settings to
the output and also append it to src/libhdf5.settings.  That created
two different output formats and duplicated information.  This is the
initial attempt to clean up this confusion and unify the output format.

It is decided to use the src/libhdf5.settings template as the unified means.
This requires more macros symbols be defined. The following symbols are
all related to generating the src/libhdf5.settings file.

AC_SUBST(EXTERNAL_FILTERS)
AC_SUBST(MPE) MPE=no
AC_SUBST(STATIC_EXEC) STATIC_EXEC=no
AC_SUBST(HDF_FORTRAN) HDF_FORTRAN=no
AC_SUBST(FC) HDF_FORTRAN=no
AC_SUBST(HDF_CXX) HDF_CXX=no
AC_SUBST(CXX) HDF_CXX=no
AC_SUBST(HDF5_HL) HDF5_HL=yes
AC_SUBST(GPFS) GPFS=no
AC_SUBST(LINUX_LFS) LINUX_LFS=no
AC_SUBST(INSTRUMENT) INSTRUMENT=no
AC_SUBST(CODESTACK) CODESTACK=no
AC_SUBST(HAVE_DMALLOC) HAVE_DMALLOC=no
AC_SUBST(DIRECT_VFD) DIRECT_VFD=no
AC_SUBST(THREADSAFE) THREADSAFE=no
AC_SUBST(STATIC_SHARED)
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AC_SUBST(UNAME_INFO) UNAME_INFO=`uname -a`

The src/libhdf5.settings.in has CONDITIONAL's added to it too.  The
untrue conditions turned into a "#" and these lines are cleaned by the 
post processing script.

Platform tested:
h5committest on kagiso, smirom and linew. (smirom had failures not due to
my changes.)
2008-05-18 21:25:13 -05:00
Elena Pourmal
f0b8da5851 [svn-r15029] Maintenance: Fixed a comment 2008-05-17 22:05:42 -05:00
Elena Pourmal
7c818eaf88 [svn-r15027] Maintenance: Fixed a typo in the fortran h5tget(set)_fields_f subroutines.
Platfomrs tested: kagiso with Intel compilers (this is bug 1046, I am not closing it since there is
                  no test for those routines yet)
2008-05-17 21:57:47 -05:00
Pedro Vicente Nunes
57708e46ad [svn-r15024] backward compatibility for old -i infile -o outfile options
if these are detected this syntax is used, otherwise the one in usage is used
there was another -i option for 

-i L2, --indexed=L2     Minimum number of links in the indexed format

That was changed to -d

-d L2, --indexed=L2     Minimum number of links in the indexed format

Tested: windows, linux
2008-05-16 15:36:48 -05:00
Scott Wegner
1962e806c7 [svn-r15021] Purpose: Minor updates to Windows documentation via Kent's recommendations. 2008-05-16 13:47:25 -05:00
Mike McGreevy
c5fa17ae84 [svn-r15019]
Purpose: Configure Fix

Description: The test program h52gifgentst was getting installed in the bin
             directory during 'make install', and it shouldn't. Make now builds
             the program for use in testing but doesn't install it during
             'make install'.

Tested:      kagiso
2008-05-16 12:42:16 -05:00
Elena Pourmal
968552fbc8 [svn-r15018] Maintenance: Brought changes from th etrunk to 1.8 branch.
Platforms tested: kagiso with g95, Intel and PGI compilers and with -i8 flag
                  smirom with g95 and -i8 flag, duty with gfortran42
2008-05-16 10:10:36 -05:00
Quincey Koziol
c23c6b9392 [svn-r15016] Description:
Port revision 15015 back to 1.8 branch:

>     Detect chunks that are >4GB before dataset gets created and return error
> to application.
> 
>     Tweak lots of internal variables that hold the chunk size/dimensions to
> use an 'uint32_t', instead of a 'size_t', so that the integer size is constant.
> 
>     Correct a number of our tests which were creating datasets with chunks
> that were >4GB and add some specific tests for >4GB chunk size detection.
> 
>     Minor whitespace & other code cleanups.

Tested on:
    Mac OS X/32 10.5.2 (amazon)
    Forthcoming testing on other platforms...
2008-05-15 22:27:13 -05:00
Mike McGreevy
70cdaa12b2 [svn-r15013] Purpose: Configure Macro Modification
Description: The macro H5_HAVE_WINDOW_PATH is now defined to 1 only when
             MinGW is in use. This is needed to fix the "links" test, and the
             external link feature in the library.

Tested: kagiso
2008-05-15 16:25:52 -05:00
Mike McGreevy
484b4c47c3 [svn-r15011] Purpose: New configure option
Description: The configure option --disable-sharedlib-rpath will disable
             embedding of the '-Wl,-rpath' information into executables
             when shared libraries are produced.

Tested: kagiso
2008-05-15 16:02:34 -05:00
Mike McGreevy
362e5d9a10 [svn-r15006] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 10:48:48 -05:00
Scott Wegner
6481c7451f [svn-r15004] Purpose: Minor updates to Windows documentation.
Description:
-- INSTALL_Windows.txt:
   -- Update szip version number to 2.1
   -- Extra details for setting up 64-bit builds
   -- Explain adding HDF5 link settings more clearly
   -- Add link to FAQ
   -- Misc. typos and formatting
-- INSTALL_Windows_From_Command_Line.txt
   -- Add note about 64-bit support
-- INSTALL_Windows_Short_NET.TXT
   -- Add notes detailing features unsupported on VS.NET
-- INSTALL_Windows_Short_VS2005.TXT
   -- Add notes about extra features.
2008-05-15 09:16:24 -05:00
Scott Wegner
ea4dea20fe [svn-r15001] Purpose: Minor Windows documentation updates
Description:
Small changes to the documentation-- update version strings to 1.8.1 and document the HDF5TestExpress variable
2008-05-14 14:37:45 -05:00
Scott Wegner
2b8a9569bb [svn-r14998] Purpose: Minor updates to MinGW installation notes
Description:
Small changes, such as commenting out an additional test and fixing the search path, have been added to the MinGW install instructions.

Tested:
MinGW on WinXP
2008-05-14 14:25:06 -05:00
Scott Wegner
4261982ea1 [svn-r14994] Purpose: Add support for building 64-bit Windows binaries from command line
Description:
We can dynamically detect the host architecture using the PROCESSOR_ARCHITECTURE variable.  This allows us to setup our build paths accordingly and build 64-bit Windows binaries from the command line.  This allows us to run autotests on 64-bit Windows as well.

Tested:
VS2005 on WinXP x64
VS2005 on WinXP x86
2008-05-14 09:54:21 -05:00
Elena Pourmal
4297f8cc78 [svn-r14992] Maintenance: Brought changes from trunk into 1.8 branch
Platforms tested: kagiso, will do more testing later with -i8 flag.
2008-05-13 13:37:48 -05:00
Mike McGreevy
ee187da419 [svn-r14989] Purpose: Bug Fix
Description: Typo in the configure.in script. CC_VERSION should be set using
             CC_NOFLAGS, but is currently using CC_NOFLAG, which does not exist.

Tested: kagiso (configure issue)
2008-05-13 11:39:07 -05:00
Scott Wegner
475ce84ae6 [svn-r14986] Purpose: Add Windows fixes for new Fortran code.
Description:
There were a number of small tweaks we needed to make to add the new fortran_1_8 code on Windows.  We create new project files, add new source to them, add the test to our test suite, and fix a few typos in the Windows-specific source code.

Tested:
VS2005 on WinXP
2008-05-12 16:31:45 -05:00
Scott Wegner
8380b1827e [svn-r14983] Purpose: Update h5dump test script on Windows
Description:
One test has been added to h5dump test for custom output formats.  This adds the test on Windows as well.

Tested:
VS2005 on WinXP
2008-05-12 15:47:31 -05:00
Pedro Vicente Nunes
7f54a6cbeb [svn-r14981] - h5dump: support for external links, display the object that the external link
points to. (PVN - 2008/05/12)
2008-05-12 15:37:29 -05:00
Pedro Vicente Nunes
20c6bdda65 [svn-r14978] Support for external links follow up. The format is to print the target object as part of TARGETPATH, noted with some extra indentation
The previous printing of 
LINKCLASS 64
was removed

HDF5 "textlinksrc.h5" {
GROUP "/" {
   EXTERNAL_LINK "ext_link1" {
      TARGETFILE "textlinktar.h5"
      TARGETPATH "dset"
         DATASET "dset" {
            DATATYPE  H5T_STD_I32LE
            DATASPACE  SIMPLE { ( 6 ) / ( 6 ) }
            DATA {
            (0): 1, 2, 3, 4, 5, 6
            }
         }
   }
}
}

There is no script test for this behavior so far, because test script uses complete paths that vary from test to test, making not possible to define a valid TARGETFILE in the file

tested: windows, linux, solaris
2008-05-12 15:20:00 -05:00
Scott Wegner
f02082b568 [svn-r14974] Purpose: Fix bug in H5G_get_name_by_addr where buffer size is less than size of name
Description:
In the new tests merged from the fortran_1_8 branch, there is a test that fetches a dataset name in a small buffer.  The call to H5G_get_name_by_addr wrote an extra byte off the end of the buffer.  A simple and sufficient fix is to decrease the buffer size passed to strncmp by 1.  This bug was only caught by Visual Studio 2005 with extra debug checks on.

Tested:
VS2005 on WinXP
kagiso
2008-05-12 13:03:05 -05:00
Mike McGreevy
7e7e7c7aef [svn-r14968] Purpose: Bug Fix (Bug 1144)
Description: Tests in perform directory were never getting run, and 
             h5perf* programs were not being installed.

Solution: Added another build option, 'make check-perform', which runs the 
          tests in the perform directory. Also modified the Makefiles in the
          perform directory to install (with 'make install') h5perf when 
          parallel is enabled, and h5perf and h5perf_serial when parallel is 
          disabled 

Tested:   kagiso, smirom, linew
2008-05-12 09:48:32 -05:00
HDF Tester
c48f37b327 [svn-r14967] Snapshot version 1.8 release 0 (snap6) 2008-05-11 21:06:42 -05:00
Scot Breitenfeld
8d4ae7e283 [svn-r14964] merged the fortran trunk into the branch, used the command:
(svn merge -r 14942:14963 http://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran)
2008-05-09 16:38:52 -05:00
Elena Pourmal
9d8bed8483 [svn-r14959] Maintennce: IRIX compiler exposed a problem in one of the new APIs. Fixed.
Platforms tested: kagiso and UCAR IRIX machine
2008-05-09 14:05:05 -05:00
Scot Breitenfeld
a42154c441 [svn-r14957] Fixed integer type mismatch in c function 2008-05-09 11:10:13 -05:00
Scot Breitenfeld
4e261a5427 [svn-r14956] re-instated the test_attr_dense_open routine for debugging 2008-05-08 16:40:30 -05:00
Vailin Choi
cb79e86d4b [svn-r14952] 1. test/links.c: put in external link tests for windows
2. src/H5private.h: remove #define for HDputenv()
2008-05-08 08:30:30 -05:00
HDF Tester
a67435cf3b [svn-r14951] Check in fixes for compilation errors on tungsten. 2008-05-07 17:18:20 -05:00
Elena Pourmal
4b2c3c5e07 [svn-r14949] Maintenance: brought serial h5perf tool from trunk; use
svn merge -r 14824:14945 http://svn.hdfgroup.uiuc.edu/hdf5/trunk/perform
             command to bring changes in.

Platforms tested: kagiso with Intel compilers, smirom with GNU compiler
2008-05-06 15:51:39 -05:00
Pedro Vicente Nunes
eb9ba954a5 [svn-r14948] Add a test for the floating point user defined printf format
Usage is 

-m T, --format=T

Where T - is a string containing the floating point format, e.g '%.3f'

The test consists of writing a number with 7 fractional digits (default precision display of %f is 6 digits) and have the 7 digits displayed with 

-m %.7f fpformat.h5

Tested: windows, linux, solaris

Note: the output file was generated in linux, it may be possible that platforms other than the ones tested have a different representation of the number
2008-05-06 15:08:11 -05:00
Elena Pourmal
41bf2001b1 [svn-r14943] Maintenance: Added files missed in the previous check-in.
Platforms tested: bin/chkmanifest on kagiso
2008-05-06 14:27:02 -05:00
Elena Pourmal
0bfb17bf00 [svn-r14942] Maintenance: Merged new Fortran APIs and tests from trunk into hdf5_1_8 branch
(used svn merge -r 14505:14941 http://svn.hdfgorup.uiuc.edu/hdf5/trunk/fortran 
              command).
             Updated MANIFEST
             Disabled -O3 optimization for gcc 4.3 (long due check-in)

Platforms tested: kagiso with PGI compilers, smirom with g95 and v16 option, linew
2008-05-06 14:23:32 -05:00
Mike McGreevy
464e4619f6 [svn-r14940] Purpose: Bug Fix (Bug 794)
Description: Test gcov script on kagiso

Solution: The bin/gcov script was not working on kagiso. The script was
          retooled and now works correctly on kagiso, placing code coverage logs
          into the generated gcov_logs directory when run.

Tested: kagiso
2008-05-06 12:18:48 -05:00
Mike McGreevy
1e313e76ff [svn-r14932] Purpose: updating RELEASE.txt document
Description:   added new autotool version information (updated libtool from 
               1.5.22 to 2.2.2 and automake from 1.10 to 1.10.1) to RELEASE.txt

Tested:        none needed, documentation update only
2008-05-05 09:33:51 -05:00
HDF Tester
c44f697040 [svn-r14931] Snapshot version 1.8 release 0 (snap5) 2008-05-04 20:44:48 -05:00
Quincey Koziol
06dc01d40e [svn-r14917] Description:
Clean up files created & cleaned up for dataset tests.

Tested on:
    Mac OS X/32 10.5.2 (amazon)
    Too minor to require h5committest
2008-05-01 17:19:40 -05:00
Pedro Vicente Nunes
8e184de40a [svn-r14915]
Introduced a compression ratio = uncompressed size /  compressed size
in the printing of the compression with 3 digits of precision per hdf-forum NASA developers suggestion

tested: windows, linux
2008-05-01 15:22:03 -05:00
Pedro Vicente Nunes
433c62542f [svn-r14911] add mention of new compression ratio feature in h5dump 2008-05-01 14:18:09 -05:00
Pedro Vicente Nunes
bee6951ac6 [svn-r14906] Introduced a ratio formula compression ratio = uncompressed size / compressed size
in the printing of the compression with 3 digits of precision per hdf-forum NASA developers suggestion

tested: windows, linux, solaris
2008-05-01 11:46:58 -05:00
Pedro Vicente Nunes
b2a2c17c44 [svn-r14895] RFC display compression ratio in h5dump
Here's the current behavior of h5dump regarding the printing of the dataset creation property list

For example

./h5dump -H -p -d filters

HDF5 "tfilters.h5" {
DATASET "deflate" {
   DATATYPE  H5T_STD_I32LE
   DATASPACE  SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
   STORAGE_LAYOUT {
      CHUNKED ( 10, 5 )
      SIZE 385 
    }
   FILTERS {
      COMPRESSION DEFLATE { LEVEL 9 }
   }
   FILLVALUE {
      FILL_TIME H5D_FILL_TIME_IFSET
      VALUE  0
   }
   ALLOCATION_TIME {
      H5D_ALLOC_TIME_INCR
   }
}
}


The proposed behavior is to add this information after SIZE

SIZE 385 (51.9%COMPRESSION)

That percentage is obtained trough

Per = (b-a) / a

Where a = theoretical size obtained by multiplying datum size times number of elements
b =  size obtained with H5Dget_storage_size

The final print would look like

HDF5 "tfilters.h5" {
DATASET "deflate" {
   DATATYPE  H5T_STD_I32LE
   DATASPACE  SIMPLE { ( 20, 10 ) / ( 20, 10 ) }
   STORAGE_LAYOUT {
      CHUNKED ( 10, 5 )
      SIZE 385 (51.9%COMPRESSION)
    }
   FILTERS {
      COMPRESSION DEFLATE { LEVEL 9 }
   }
   FILLVALUE {
      FILL_TIME H5D_FILL_TIME_IFSET
      VALUE  0
   }
   ALLOCATION_TIME {
      H5D_ALLOC_TIME_INCR
   }
}
}

tested: windows, linux, solaris
2008-04-29 14:15:53 -05:00
Scott Wegner
c954ba63a4 [svn-r14868] Purpose: Add new source files to Windows projects
Description:
Two new source files have been added, H5Dchunk.c and H5Dscatgath.c.  This checkin adds the files to the Windows project files as well.

Tested:
VS.NET on WinXP
2008-04-28 09:09:50 -05:00
HDF Tester
8340a57349 [svn-r14866] Snapshot version 1.8 release 0 (snap4) 2008-04-27 21:07:59 -05:00
Mike McGreevy
82198aa9c5 [svn-r14862] Purpose: Disallow use of c++ or fortran with threadsafe.
Description:   Threadsafety is incompatible with c++ and with fortran, so if 
               the user specifies either at configure along with threadsafe, 
               throw an error.

Tested:        kagiso (configure change only, doesn't affect build or testing).
2008-04-24 15:41:51 -05:00
Quincey Koziol
e66cb6fec6 [svn-r14861] Description:
Bring revision 14860 back to 1.8 branch, change log for rev 14860 is:

        Omnibus raw data I/O revisions, with wide-ranging changes and
refactoring, in order to prepare for implementing "fast append" feature.

        These changes remove the majority of the code duplication for raw data
I/O which has crept in over the last ten years and introduces a more object-
oriented design for operating on different types of dataset storage.

Description:
        Omnibus raw data I/O revisions, with wide-ranging changes and
refactoring, in order to prepare for implementing "fast append" feature.

        These changes remove the majority of the code duplication for raw data
I/O which has crept in over the last ten years and introduces a more object-
oriented design for operating on different types of dataset storage.

        Chunked storage no longer has it's own I/O routines, it is now handled
as either contiguous (if chunk is not pulled into the cache) or compact (if the
chunk is cached in memory).

        No bug or feature changes, at least intentionally... :-)

Tested on:
    Mac OS X/32 10.5.2 (amazon) w/production
2008-04-24 10:39:32 -05:00
Scott Wegner
ed32d8e900 [svn-r14858] Purpose: Fix typo in Windows test script
Description:
A small typo in the main Windows test script was causing the C++ library tests not to run by default.

Tested:
VS2005 on WinXP x64
2008-04-21 13:05:34 -05:00
Scott Wegner
e3e9bbafce [svn-r14856] Purpose: Fix error message when with Windows pthreads
Description:
When building HDF5 with thread safety on Windows, the err_compat test was failing because our output was being parsed incorrectly.  Rather than having a thread number in the error stack trace, there will be the string "some thread: no way to know the thread (IDs): from pthread on windows:".  This checkin now takes this into account, and modifies the output accordingly.

Tested:
VS2005 on WinXP with Pthreads
2008-04-21 12:35:25 -05:00
HDF Tester
b6017c5cd1 [svn-r14851] Snapshot version 1.8 release 0 (snap3) 2008-04-20 19:00:23 -05:00
Scott Wegner
b6fc679940 [svn-r14844] Purpose: Fix link input in Windows HL Fortran examples
Description:
Previously, our Windows projects for HL Fortran examples were using outdated library names for our cstub code.  As a result, they wouldn't build correctly.  This checkin brings them up-to-date.

Also, add hdf5_hl.lib as a dependency to hdf5_hl_fortran.lib.  This goes un-noticed when building the complete VS solution, but should be required when only building hdf5_hl_fortran.lib

Tested:
VS2005 on WinXP
2008-04-14 16:32:39 -05:00
Scott Wegner
8fb201dd65 [svn-r14842] Purpose: Fix Windows Fortran examples runtime libraries
Description:
In the Windows Fortran example projects, the runtime library used for linking static-debug version was set incorrectly.  This was a result of the project being upgraded from VS6 where we used Single-threaded libraries.  Those libraries are no longer supported, so we use [Debug] Multithreaded [DLL] now instead.

Tested:
VS2005 on WinXP
2008-04-14 12:13:10 -05:00
Scott Wegner
af355e20a4 [svn-r14840] Purpose: Add new Windows macro for links test
Description:
Many new path-specific tests have been added via the "links" test.  Because Windows' path format is non-standard, we need a special macro defined to handle it specially.  Note that 2 tests still fail with this macro defined, but it should be fixed soon.

Tested:
VS2005 on WinXP
2008-04-14 10:47:49 -05:00
Scott Wegner
ac378bcfb1 [svn-r14837] Purpose: Remove ohdr_gentst from Windows projects
Description:
The ohdr_gentst project exists in order to re-create test input files that are distributed with the source.  These projects aren't built by default on most platforms, and the source isn't distributed in release builds.  To avoid confusion and bloat, we remove the Windows version of this project.

Tested:
None, only removed
2008-04-14 10:15:03 -05:00
Scott Wegner
e622c634d5 [svn-r14835] Purpose: Remove English-specific code from Windows test scripts
Description:
In previous versions of Windows, the builtin 'FC' command (diff equivalent) didn't return proper exit status.  As a work-around, we parsed the message returned to check status.  This relies on English return messages.

In current Windows XP and Windows Vista, FC will return exit status as expected, so we can remove this workaround.  Older platforms where we would need this workaround are no longer supported.

Tested:
VS2005 on Windows XP
Small test on Windows Vista
2008-04-14 09:59:52 -05:00
HDF Tester
740769d37f [svn-r14834] Snapshot version 1.8 release 0 (snap2) 2008-04-13 21:06:52 -05:00
Mike McGreevy
8f0879c89e [svn-r14830] Purpose: Update libtool to version 2.2.2
Description: Changing libtool from 2.2 to 2.2.2. The newer version was released
             last week and I missed the announcement before upgrading to 2.2
             yesterday afternoon.

             The new version is installed in home1/packages/libtool/, and the
             bin/reconfigure script was updated and executed.

Tested:      h5committest (smirom, linew, kagiso)
2008-04-11 16:56:25 -05:00
Mike McGreevy
934d532544 [svn-r14824] Purpose: Updating HDF5 1.8 to use automake 1.10.1 and libtool 2.2
Description:     Updated bin/reconfigure script to reflect the new versions of
                 libtool and automake in the /home1/packages/ directory.

                 Rearranged configure.in script. For some reason, when using
                 libtool 2.2, the libtool script doesn't generate until
                 later in the configuration process, so I had to move
                 a test that parsed through the libtool script to a point 
                 after where it was actually being generated.

                 Ran libtoolize on the project, and ran bin/reconfigure to
                 regenerate configure and Makefile.in's throughout.

Tested:          kagiso, smirom, linew, tg-login
2008-04-10 15:52:14 -05:00
Vailin Choi
19077b27d0 [svn-r14823] Fixed a bug in CHECK_ABSOLUTE() for windows.
Fixed declaration for H5_build_extpath() to remove the warning messages.
Tested on kagiso, linew, smirom.
2008-04-09 09:56:17 -05:00
Scott Wegner
b4bae33f23 [svn-r14820] Purpose: Disable ohdr_gentst project by default on Windows.
Description:
The ohdr_gentst project exists to dynamically generate the test files for ohdr test, which also exist in the repository.  The test is only run on other platforms when the configure flag --enable-build-all is specified.  Moreover, the source code ohdr_gentst.c is marked as _DO_NO_DISTRIBUTE_ in the MANIFEST.

As a result, there was a problem in the release tarball that the Windows projects would fail when trying to build this project.  To correct this, we no longer build this by default.  We will also need to release a FAQ/patch for the HDF5 1.8.0 release.

Tested:
VS2005 on WinXP
2008-04-08 15:10:41 -05:00
Vailin Choi
a5030f853b [svn-r14810] Add fix for H5Lcreate_external() to the list of bug fixes. 2008-04-08 10:50:26 -05:00
Pedro Vicente Nunes
202a3d4a6f [svn-r14803] mention to bug fixed 2008-04-07 10:59:51 -05:00
Pedro Vicente Nunes
59f29fa02f [svn-r14802] bug fix: #1106 h5dump -b will dump ASCII values for datasets after the first one. One variable that controls the binary output was incorrectly reset to zero after a binary output was done a first time. The effect was that on cases of several datasets, the ones after the first were not binary written. Eliminated the resetting of that variable and tested a file with several datasets. Modified the test file so that it is easier to test with the tool binread, that reads the binary output of h5dump.
tested: windows, linux
2008-04-07 10:53:35 -05:00
HDF Tester
7c6a99f05c [svn-r14801] Snapshot version 1.8 release 0 (snap1) 2008-04-06 21:10:35 -05:00
Vailin Choi
bcba07c53e [svn-r14795] Use putenv() instead of setenv() in src/links.c
(sol does not support setenv())
2008-04-04 13:48:15 -05:00
Vailin Choi
cff7516ca7 [svn-r14791] Add handling for external link:
1. src/H5F.c, src/H5system.c: formulate path for mainfile
2. src/H5Lexternal.c: add search for target file
3. configure.in: add H5_HAVE_WINDOW_PATH
4. test/links.c: add tests for external link
2008-04-02 14:33:08 -05:00
Scott Wegner
d8dfc1fb3f [svn-r14769] Purpose: Remove spurious szip link directory in h5repack debug project
Description:
As pointed out by a user, we added an un-needed link directory for szip which is machine-dependent and, in his case, problematic.  We can safely remove this reference because we already include the szip link directory elsewhere.

Tested:
None, simply removed
2008-03-24 13:04:36 -05:00
HDF Tester
5a8bbe317b [svn-r14763] Snapshot version 1.8 release 0 (snap0) 2008-03-20 22:29:59 -05:00
Quincey Koziol
f331bba32c [svn-r14737] Description:
Fix bug which would incorrectly encode the member offsets for compound
datatypes whose size was between 256 & 511 bytes, when the "use the latest
format" feature was enabled.

Tested on:
    Mac OS X/32 10.5.2 (amazon) w/debug
    FreeBSD/32 6.2 (duty) w/production
2008-03-13 16:44:18 -05:00
Quincey Koziol
4982e15623 [svn-r14722] Description:
Minor bug fix to H5Aget_num_attrs() to return error when an invalid
location ID is passed in.

Tested on:
    Mac OS X/32 (amazon)
    Too minor to require h5committest
2008-03-11 17:25:46 -05:00
Vailin Choi
da9a26d9a5 [svn-r14710] Fixed the assert() failures (development mode) from Wed. daily tests:
Added 2 more parameters to H5HF_man_iblock_size() (parent iblock and parent entry)
for passing onto H5HF_iblock_man_iblock_protect().
This bug was there before but was revealed now by exercising the recursive part of the code from the new
"h5stat_newgrat.h5".
Tested on kagiso, smirom and linew with --disable-production.
-This line, and those below, will be ignored--

M    src/H5HFiblock.c
M    src/H5HFpkg.h
M    src/H5HFstat.c
2008-03-06 12:16:17 -05:00
Vailin Choi
87be7927dd [svn-r14703] 1. H5HFiblock.c: fixed problem for uninitialized "u" for bug #1072 in H5HF_man_iblock_size().
2. H5HFstat.c: Since H5HF_space_size() zeroed out fs_size, add "meta_size" to store
   free-space size before adding to "heap_size".
3. h5stat_gentest.c: increase # of groups to get "h5stat_newgrat.h5" that contains 
   indirect block entries in fractal heap.  
   This is for testing the recursive part of the code in H5HF_man_iblock_size().
4. h5stat_newgrat.h5: the new .h5 file generated by h5stat_gentest.c.
5. h5stat_newgrat.ddl: expected output from new "h5stat_newgrat.h5".

Tested on kagiso, smirom, linew.
2008-03-04 15:04:18 -05:00
Scott Wegner
c635149be5 [svn-r14696] Purpose: Backport typo fix from trunk
Description:
A small typo in the recent update to installhdf5lib.bat caused the C++ header files not to be installed for the debug version of the libraries.  This corrects the issue.

Tested:
VS2005 on WinXP
2008-03-03 14:45:13 -05:00
Quincey Koziol
19924061d1 [svn-r14692] Description:
Update release notes with recent variable-length string fix for h5diff
2008-02-28 10:06:52 -05:00
Quincey Koziol
a233b8a08d [svn-r14691] Description:
Handle comparing datasets & attributes w/variable-length strings properly.

Tested on:
    Linux/64 2.6.9 (chicago)
2008-02-28 09:53:38 -05:00
Albert Cheng
c1c885892f [svn-r14679] Removed item c++/examples/testexamples.sh. 2008-02-25 23:47:43 -05:00
Albert Cheng
ba7d08029b [svn-r14675] Purpose:
Cleanup.

testexamples.sh is not used since v1.4.1.  Removed it.
2008-02-25 16:09:07 -05:00
Scott Wegner
fd50c1ae9b [svn-r14674] Purpose: Backport Windows updates from trunk
Description:
Allow building Fortran libraries from the Windows commandline

Tested:
VS2005 on WinXP
2008-02-25 15:50:21 -05:00
Scott Wegner
acfc6ce5ba [svn-r14669] Purpose: Remove old project files and folders to bring MANIFEST up-to-date
Description:
Somehow these folders didn't get deleted in a previous checkin.  This should bring things up-to-date
2008-02-25 12:07:45 -05:00
Scott Wegner
dd7dcb5b07 [svn-r14668] Purpose: Backport of added Windows HL examples from trunk
Description:
The Windows suite of examples for HL C was a very small subset of the examples that exist for other platforms.  Now we have all of the HL C examples-- integrated into the VS projects files, and batch test scripts.
2008-02-25 11:46:02 -05:00
Scott Wegner
711f06f2ea [svn-r14604] Purpose: Backport of Windows project updates from trunk
Description:
Add hdf5 library as a dependency to hdf5_hl library in Windows project files

For some reason, the hdf5_hl library didn't have hdf5 listed as a dependency.  This isn't normally a problem, because building "all" will build hdf5 library.  However, when a user tries to build only hdf5_hl, hdf5 library wouldn't be built.

Although not technically required for compiling the library code, the hdf5 library is needed for linking any applications, so it's a natural dependency.

Tested:
VS2005 on WinXP
VNET on WinXP
2008-02-18 13:26:29 -05:00
Scott Wegner
862f7431b2 [svn-r14602] Purpose: Update Cygwin documentation with patch
Description:
Basically, remove the "hack" that we documented because we have a better fix now.  With the latest changes, configure will avoid the cygwin bug, and no neccessary steps need to be taken by the user.
2008-02-18 12:53:36 -05:00
Scott Wegner
bce180dd5c [svn-r14600] Purpose: Backport of Windows typo fix from the trunk
Description:
Purpose: Fix very minor typo in Windows h5import test script
Single-letter typo in the Windows test script was causing us to return the wrong error code in some cases.

Tested:
VS2005 on WinXP
2008-02-18 11:49:57 -05:00
Scott Wegner
728e308764 [svn-r14597] Purpose: Backport Windows cleanup checkins from trunk
Description:
Make the Windows copy_hdf.bat a little cleaner/safer, and produce useful output in installhdf5lib.bat

Previously, all of our build output would simply go to stdout/stderr for command-line builds.  We can pipe this into a log file as a whole, but the complete logfile becomes very large very quickly.  Instead, we give the user an option to place build results and test results into separate logs (or even the same).  This will help keeping track of results in our automated testing.

Tested:
VS2005 on WinXP
2008-02-18 10:48:34 -05:00
Scott Wegner
dee9447656 [svn-r14595] Purpose: Patch the latest Cygwin's incompatibility with timzezone variable
Description:
We discovered that there was a problem with the latest cygwin DLL, in that it doesn't recognize the global variable 'timezone'.  This is a problem on cygwin's side, not ours.  Instead, we avoid the problem in configure with a case statement.

We didn't get this out in time for the release, but we can offer a patch instead.

Tested:
Cygwin on WinXP
All changes are in a cygwin 'case' clause, so shouldn't affect other platforms
2008-02-18 09:05:47 -05:00
HDF Tester
50a758f887 [svn-r14591] Add version string for 1.8 branch daily tests. 2008-02-15 14:11:00 -05:00
Raymond Lu
bbe565bdaf [svn-r14586] Added more tests. Test both H5Sselect_elements and H5Sselect_hyperslab, for both chunked and
contiguous datasets.

Tested on smirom, kagiso, and linew.
2008-02-15 10:25:58 -05:00
Elena Pourmal
069b52529e [svn-r14585] Maintenance after 1.8.0 release: Created HISTORY-1_8.txt file and prepared RELEASE.txt
for future entries.
                                 Changed version number to 1.8.0-snap0
                                 Added HISTORY-1_8.txt to MANIFEST
2008-02-14 11:17:48 -05:00
Elena Pourmal
95715a553e [svn-r14566] Maintenance: Checking in files modified by the bin/release script 2008-02-12 20:45:32 -05:00
Elena Pourmal
eb6bf807d2 [svn-r14565] Maintenance: Renamed history file before creating a final HDF5 1.8.0 release tar ball. 2008-02-12 20:39:54 -05:00
Elena Pourmal
43f78b295c [svn-r14563] Maintenance: Checking in files updated by bin/release script before tagging the release 2008-02-12 18:14:19 -05:00
Elena Pourmal
56ea611bfa [svn-r14562] Maintenance: Added compilers information for the VMS system
Updated release date in the INSTALL_VMS.txt file
2008-02-12 18:09:28 -05:00
Albert Cheng
ae18c5f41c [svn-r14556] Purpose:
Update.

What is done:
Moved the following three paragraphs to the Appendix part since they have old
information that are not relevant most recent machines or compilers.
    "Large (>2GB) versus small (<2GB) file capability", 
    "Building and testing with Intel compilers"
    "Building and testing with PGI compilers"

Tested:
eyeballed.
2008-02-12 13:06:59 -05:00
Frank Baker
8449affc4a [svn-r14555] Description:
Added note regarding removal of the stream VFD.
2008-02-12 12:44:53 -05:00
Frank Baker
4bc4e5417e [svn-r14554] Description:
Quick editorial review.
    Convert tabs to spaces for consistent display and printing.
    Verify and fix links and references.
2008-02-12 11:35:41 -05:00
Albert Cheng
62ff7f238d [svn-r14552] Purpose:
Updated section 4 for v1.8 release.
(May still check the v1.6 INSTALL to see if something can be adopted from
there.  But this is good for v1.8 release.)

Tested:
Just eyeballed.
2008-02-12 10:05:31 -05:00
Frank Baker
0174dfec78 [svn-r14550] Description:
Editorial review.
    Verify and fix links and references.
2008-02-11 15:32:49 -05:00
Albert Cheng
a1613da80e [svn-r14548] Purpose:
Updated for v1.8 release. (Not completed yet.)

Changes:
Moved the section 2. "Warnings about compilers" to Appendix A; renumbered
section 3-7 to section 2-6 and fixed all section references.

Updated Website names from ncsa.uiuc.edu to hdfgroup.org or hdfgroup.uiuc.edu.

Updated section 1-3 and some of section 4.

Tested:
Eyeball.
2008-02-11 14:38:17 -05:00
Albert Cheng
4f0e4f389a [svn-r14540] Purpose: update
Updated the parallel test suite section with more parallel tests description
to prepare for v1.8.0 release.

Test: eyeballed.
2008-02-08 19:01:07 -05:00
Elena Pourmal
a429d0c4b3 [svn-r14528] Maintenance: Made a first attempt to clean up the file for the 1.8.0 release. 2008-02-06 21:48:19 -05:00
Elena Pourmal
5fb8eefacd [svn-r14527] Maintenance: Added summary written by Frank to the RELEASE.txt file 2008-02-06 21:42:22 -05:00
5049 changed files with 2401882 additions and 371038 deletions

18
ACKNOWLEDGMENTS Normal file
View File

@@ -0,0 +1,18 @@
Acknowledgments - November 2010
-------------------------------
We would like to thank the following people who have contributed directly
or indirectly to HDF5:
Werner Benger, for contributing code used to add support for the Windows
Threading library included in the 1.8.6 release.
John A. Biddiscombe, Mike Jackson, and Sean McBride for contributing and
testing CMake code included in the HDF5 1.8.5 distribution.
The HDF5 community for helping shape the development of HDF5 by contributing
bug reports and patches, joining in on forum discussions, and continually
supporting our software.
Finally, we'd like to thank all organizations whose funding has made HDF5
possible.

1156
CMakeLists.txt Normal file

File diff suppressed because it is too large Load Diff

34
COPYING
View File

@@ -4,18 +4,13 @@ HDF5 (Hierarchical Data Format 5) Software Library and Utilities
-----------------------------------------------------------------------------
HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright 2006-2008 by The HDF Group (THG).
Copyright 2006-2012 by The HDF Group.
NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities
Copyright 1998-2006 by the Board of Trustees of the University of Illinois.
All rights reserved.
Contributors: National Center for Supercomputing Applications (NCSA) at
the University of Illinois, Fortner Software, Unidata Program Center (netCDF),
The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip),
and Digital Equipment Corporation (DEC).
Redistribution and use in source and binary forms, with or without
modification, are permitted for any purpose (including commercial purposes)
provided that the following conditions are met:
@@ -39,17 +34,32 @@ provided that the following conditions are met:
5. Neither the name of The HDF Group, the name of the University, nor the
name of any Contributor may be used to endorse or promote products derived
from this software without specific prior written permission from the
University, THG, or the Contributor, respectively.
from this software without specific prior written permission from
The HDF Group, the University, or the Contributor, respectively.
DISCLAIMER:
THIS SOFTWARE IS PROVIDED BY THE HDF GROUP (THG) AND THE CONTRIBUTORS
THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. In no
event shall THG or the Contributors be liable for any damages suffered by
the users arising out of the use of this software, even if advised of the
possibility of such damage.
event shall The HDF Group or the Contributors be liable for any damages
suffered by the users arising out of the use of this software, even if
advised of the possibility of such damage.
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Contributors: National Center for Supercomputing Applications (NCSA) at
the University of Illinois, Fortner Software, Unidata Program Center (netCDF),
The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip),
and Digital Equipment Corporation (DEC).
-----------------------------------------------------------------------------
Portions of HDF5 were developed with support from the Lawrence Berkeley
National Laboratory (LBNL) and the United States Department of Energy
under Prime Contract No. DE-AC02-05CH11231.
-----------------------------------------------------------------------------
Portions of HDF5 were developed with support from the University of
California, Lawrence Livermore National Laboratory (UC LLNL).
The following statement applies to those portions of the product and must

30
CTestConfig.cmake Normal file
View File

@@ -0,0 +1,30 @@
## This file should be placed in the root directory of your project.
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
## # The following are required to uses Dart and the Cdash dashboard
## ENABLE_TESTING()
## INCLUDE(CTest)
SET (CTEST_PROJECT_NAME "HDF5")
SET (CTEST_NIGHTLY_START_TIME "18:00:00 CST")
SET (CTEST_DROP_METHOD "http")
IF (CDASH_LOCAL)
SET (CTEST_DROP_SITE "nei.hdfgroup.uiuc.edu")
SET (CTEST_DROP_LOCATION "/cdash/submit.php?project=HDF5.1.8")
ELSE (CDASH_LOCAL)
SET (CTEST_DROP_SITE "cdash.hdfgroup.uiuc.edu")
SET (CTEST_DROP_LOCATION "/submit.php?project=HDF518")
ENDIF (CDASH_LOCAL)
SET (CTEST_DROP_SITE_CDASH TRUE)
SET (UPDATE_TYPE svn)
SET (VALGRIND_COMMAND "/usr/bin/valgrind")
SET (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
SET (CTEST_TEST_TIMEOUT 3600 CACHE STRING
"Maximum time allowed before CTest will kill the test.")
SET (DART_TESTING_TIMEOUT 3600 CACHE STRING
"Maximum time allowed before CTest will kill the test." FORCE)
SET(CTEST_SUBMIT_RETRY_DELAY 20 CACHE STRING
"How long to wait between timed-out CTest submissions.")

1372
MANIFEST

File diff suppressed because it is too large Load Diff

35
Makefile.am Executable file → Normal file
View File

@@ -73,12 +73,15 @@ else
endif
SUBDIRS = src test $(TESTPARALLEL_DIR) tools . $(CXX_DIR) $(FORTRAN_DIR) \
$(HDF5_HL_DIR)
$(HDF5_HL_DIR) perform
DIST_SUBDIRS = src test testpar tools . c++ fortran hl perform examples
# Some files generated during configure that should be cleaned
DISTCLEANFILES=config/stamp1 config/stamp2
# Some files/directories generated during check that should be cleaned
CHECK_CLEANFILES+=*-tmp
# Define rules for lib, progs, check, and tests.
# These simply involve recursing into subdirectories.
test _test: check
@@ -113,6 +116,7 @@ check-clean:
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
fi; \
done
$(RM) -rf prefix-tmp destdir-tmp
# Some C++ compilers/linkers will create a directory named ii_files in
# the root directory, which should be cleaned.
@@ -121,17 +125,20 @@ mostlyclean-local:
$(RM) -rf ii_files; \
fi
# 'make install' will now install examples, the same as 'make install-all'.
# 'make-install-all' will be redundant but will still work.
install: install-recursive install-examples
uninstall: uninstall-recursive uninstall-examples
# 'make install-all' also installs examples
install-all:
@$(MAKE) $(AM_MAKEFLAGS) install
@$(MAKE) $(AM_MAKEFLAGS) install-examples
uninstall-all:
@$(MAKE) $(AM_MAKEFLAGS) uninstall
@$(MAKE) $(AM_MAKEFLAGS) uninstall-examples
# Install examples in this directory and recursively
install-examples uninstall-examples:
@@SETX@; for d in examples $(HDF5_INTERFACES); do \
@@SETX@; for d in examples $(HDF5_INTERFACES) $(HL); do \
(cd $$d && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1; \
done
@@ -145,11 +152,31 @@ uninstall-doc:
# `make check-install' or `make installcheck' checks that examples can
# be successfully built
installcheck-local:
if test -n "${DESTDIR}"; then \
(cd ${DESTDIR}$(bindir) && pwd && ./h5redeploy -force); \
fi
@(cd examples && $(MAKE) $(AM_MAKEFLAGS) $@) || exit 1;
# check-install is just a synonym for installcheck
check-install: installcheck
# check-all-install tests all installation methods.
# Install via different mechanism and then compare against the default.
# Fine if only libXXX.a files are different since they may have been ranlib'ed.
check-all-install:
@echo Installing to default location
$(MAKE) install
@echo Installing to different prefix location
$(MAKE) prefix=${ROOT}/prefix-tmp install
@echo Compare against the default installation.
@echo Fine if only libXXX.a files are different.
-diff -r prefix-tmp ${prefix}
@echo Installing to different $$\DESTDIR location
env DESTDIR=${ROOT}/destdir-tmp $(MAKE) install
@echo Compare against the default installation.
@echo Fine if only libXXX.a files are different.
-diff -r destdir-tmp${prefix} ${prefix}
# Only source files in the src directory include tracing information,
# so 'make trace' only needs to recurse into that directory.
trace:

File diff suppressed because it is too large Load Diff

View File

@@ -1,39 +1,40 @@
HDF5 version 1.8.0 currently under development
HDF5 version 1.8.10 released on 2012-10-26
Please refer to the release_docs/INSTALL file for installation instructions.
------------------------------------------------------------------------------
This release is almost fully functional for the entire API defined in the
documentation, see the RELEASE.txt file in the release_docs directory for information
specific to this release of the library. The INSTALL file contains
instructions on compiling and installing the library. The INSTALL_parallel
file contains instructions on installing the parallel version of the
library. The INSTALL* files can be found in the release_docs/ directory.
This release is fully functional for the API described in the documentation.
See the RELEASE.txt file in the release_docs/ directory for information
specific to this release of the library. Several INSTALL* files can also be
found in the release_docs/ directory: INSTALL contains instructions for
compiling and installing the library; INSTALL_parallel contains instructions
for installing the parallel version of the library; similarly-named files
contain instructions for VMS and several environments on MS Windows systems.
Documentation for this release can be found at the following URL:
http://www.hdfgroup.uiuc.edu/HDF5/release/beta/obtain518.html
http://www.hdfgroup.org/HDF5/doc/.
Four mailing lists are currently set up for use with the HDF5
library.
The following mailing lists are currently set up for HDF5 Library users:
news - For announcements of HDF5 related developments,
not a discussion list.
news - For announcements of HDF5 related developments,
not a discussion list.
hdf-forum - For general discussion of the HDF5 library with
other users.
hdf-forum - For general discussion of the HDF5 library with
other users.
hdf5dev - For discussion of the HDF5 library development
with developers and other interested parties.
hdf5dev - For discussion of the HDF5 library development
with developers and other interested parties.
To subscribe to a list, send mail to "<list>-subscribe@hdfgroup.org".
where <list> is the name of the list.
E.g., mail hdf5-subscribe@hdfgroup.org
where <list> is the name of the list. For example, send a request
to subscribe to the 'news' mail list to the following address:
news-subscribe@hdfgroup.org
Messages to be sent to the list should be sent to "<list>@hdfgroup.org".
Messages sent to the list should be addressed to "<list>@hdfgroup.org".
Periodic code snapshots are provided at the following URL:
ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
Please read the README.txt file in that directory before working with a library
snapshot.
Please read the README.txt file in that directory before working with a
library snapshot.
The HDF5 website is located at http://hdfgroup.org/HDF5/

10675
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@@ -18,6 +18,41 @@ dnl
dnl -------------------------------------------------------------------------
dnl -------------------------------------------------------------------------
dnl -------------------------------------------------------------------------
dnl _AC_SYS_LARGEFILE_MACRO_VALUE
dnl
dnl The following macro overrides the autoconf macro of the same name
dnl with this custom definition. This macro performs the same checks as
dnl autoconf's native _AC_SYS_LARGEFILE_MACRO_VALUE, but will also set
dnl AM_CPPFLAGS with the appropriate -D defines so additional configure
dnl sizeof checks do not fail.
dnl
# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
# CACHE-VAR,
# DESCRIPTION,
# PROLOGUE, [FUNCTION-BODY])
# ----------------------------------------------------------
m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
[while :; do
m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
[AC_LANG_PROGRAM([$5], [$6])],
[$3=no; break])
m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
[AC_LANG_PROGRAM([@%:@define $1 $2
$5], [$6])],
[$3=$2; break])
$3=unknown
break
done])
case $$3 in #(
no | unknown) ;;
*) AC_DEFINE_UNQUOTED([$1], [$$3], [$4])
AM_CPPFLAGS="-D$1=$$3 $AM_CPPFLAGS";;
esac
rm -rf conftest*[]dnl
])# _AC_SYS_LARGEFILE_MACRO_VALUE
dnl -------------------------------------------------------------------------
dnl AC_F9X_MODS()
dnl

View File

@@ -1,5 +1,5 @@
Copyright by The HDF Group (THG) and
Copyright by The HDF Group and
The Board of Trustees of the University of Illinois.
All rights reserved.

View File

@@ -67,6 +67,7 @@ TIMESTAMP()
QUIT()
{
# print the closing time
TIMESTAMP
}
@@ -234,7 +235,7 @@ trap QUIT 0
#
MAKE=${MAKE:-'gmake'}
export MAKE
CONFIGURE="CONFIG"
CONFIG_CMD="CONFIG"
CONFIG_OP= # configure options
CONFIG_ONLY=no # default is configure and build
NOEXEC= # default to execute commands
@@ -250,6 +251,7 @@ while [ $# -gt 0 ]; do
;;
-szlib)
LOCATE_SZLIB
CONFIG_OP="$CONFIG_OP $WITH_SZLIB"
;;
-help)
USAGE
@@ -263,16 +265,16 @@ while [ $# -gt 0 ]; do
SRCDIRLIST="$1"
;;
-cxx)
CONFIG_CXX="--enable-cxx"
CONFIG_OP="$CONFIG_OP --enable-cxx"
;;
-fortran)
CONFIG_FORTRAN="--enable-fortran"
CONFIG_OP="$CONFIG_OP --enable-fortran"
;;
-pp)
CONFIG_PARALLEL="--enable-parallel"
CONFIG_OP="$CONFIG_OP --enable-parallel"
;;
*) # Quit parsing
break
*) # pass it as a configure option
CONFIG_OP="$CONFIG_OP $1"
;;
esac
shift
@@ -296,16 +298,12 @@ if [ x-$SRCDIR = x-dummy ]; then
exit 1
fi
# Setup Configure options
CONFIG_OP="$WITH_SZLIB $CONFIG_FORTRAN $CONFIG_CXX $CONFIG_PARALLEL"
# Configure
# no configure if already done.
if [ ! -f config.status ]; then
CONFIGURE="$CONFIGURE $CONFIG_OP $*"
STEP "Configure HDF5..." "$CONFIGURE" "#config"
STEP "Configure HDF5..." "$CONFIG_CMD $CONFIG_OP" "#config"
else
STEP "Confiugre Skipped" "echo Confiugre Skipped" "#config"
STEP "Configure Skipped" "echo Configure Skipped" "#config"
fi
if [ x-$CONFIG_ONLY = x-yes ]; then
@@ -324,4 +322,3 @@ STEP "Testing HDF5 parallel parts..." "$MAKE check-p" "#test-p"
# all done
echo "No Errors encountered"
TIMESTAMP

View File

@@ -18,12 +18,12 @@
# Created Date: 2004/12/07
#
# Configure: should be generated by autoconf version 2.59.
# autoconf: should be of version 2.59.
# Configure: should be generated by autoconf version 2.69.
# autoconf: should be of version 2.69.
# variable initialization
nerrors=0
AUTOCONFVERSION=2.61
AUTOCONFVERSION=2.69
AUTOCONFVERSIONLEAD='Generated by GNU Autoconf'
CONFIGUREFILES="configure"

View File

@@ -57,7 +57,7 @@ SH_COPYRIGHT=/tmp/h5chkright_SH.$$ # SHELL style copyright
SH_COPYRIGHT2=/tmp/h5chkright_SH2.$$ # SHELL style copyright, 2nd style.
WINBAT_COPYRIGHT=/tmp/h5chkright_WINBAT.$$ # Windows Batch file Copyright notice
VMSCMD_COPYRIGHT=/tmp/h5chkright_VMSCMD.$$ # VMS command file Copyright notice
CONFIGURE_IN_COPYRIGHT=/tmp/h5chkright_CONFIGURE_IN.$$ # configure.in file Copyright notice
CONFIGURE_AC_COPYRIGHT=/tmp/h5chkright_CONFIGURE_AC.$$ # configure.ac file Copyright notice
tmpfixfile=/tmp/h5chkright_fix.$$ # Temporary fixed copy of file
@@ -207,8 +207,8 @@ EOF
@REM access to either file, you may request a copy from help@hdfgroup.org.
EOF
# configure.in file Copyright notice
cat > ${CONFIGURE_IN_COPYRIGHT} << \EOF
# configure.ac file Copyright notice
cat > ${CONFIGURE_AC_COPYRIGHT} << \EOF
dnl Copyright by The HDF Group.
dnl Copyright by the Board of Trustees of the University of Illinois.
dnl All rights reserved.
@@ -635,10 +635,10 @@ VMSCMD_FILE()
# Check Configure.in type files
#
CONFIGURE_IN_FILE()
CONFIGURE_AC_FILE()
{
f=$1
case `MATCH_COPYRIGHT $CONFIGURE_IN_COPYRIGHT $f` in
case `MATCH_COPYRIGHT $CONFIGURE_AC_COPYRIGHT $f` in
PASSED)
PASSED $f
return
@@ -646,9 +646,9 @@ CONFIGURE_IN_FILE()
FAILED)
# show the difference
FAILED $f
$DIFF ${EXTRACTEDFILE} ${CONFIGURE_IN_COPYRIGHT}
$DIFF ${EXTRACTEDFILE} ${CONFIGURE_AC_COPYRIGHT}
if [ -n "$FIXIT" ]; then
FIX_COPYRIGHT $CONFIGURE_IN_COPYRIGHT $f
FIX_COPYRIGHT $CONFIGURE_AC_COPYRIGHT $f
fi
;;
esac
@@ -681,8 +681,8 @@ GUESS_File_Type()
# Put this after C_SOURCE which may have #define and such lines.
echo SHELL_FILE
elif grep '^dnl' < $tmpfile > /dev/null; then
# Some lines start with a "dnl". It may be a configure.in type file.
echo CONFIGURE_IN_FILE
# Some lines start with a "dnl". It may be a configure.ac type file.
echo CONFIGURE_AC_FILE
elif grep -i '^<html>' < $tmpfile > /dev/null || \
grep '^<!--' < $tmpfile > /dev/null ; then
# Some lines start with a "<html>" or having an html comment tag.
@@ -827,8 +827,8 @@ while read file; do
*Makefile | *Makefile.in | *Makefile.am | Makefile.dist )
MAKE_FILE ${file}
;;
configure.in )
CONFIGURE_IN_FILE ${file}
configure.ac )
CONFIGURE_AC_FILE ${file}
;;
*.bat | *.BAT )
# Windows Batch files

View File

@@ -107,6 +107,21 @@ else
fi
fi
# Check for duplicate entries. This can be done at any time, but it may as
# well be sooner so that if something else fails the presence of duplicates
# will already be known.
errcode=0
DUPLICATES=`perl -ne 's/#.*//; next if /^\s*$/; if ($uniq{$_}++) { print $_; }' MANIFEST`
if [ "$DUPLICATES" ]; then
cat 1>&2 <<EOF
These entries appear more than once in the MANIFEST:
$DUPLICATES
Please remove the duplicate lines and try again.
EOF
errcode=1
fi
# Copy the manifest file to get a list of file names.
grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
@@ -117,6 +132,7 @@ for file in `cat $MANIFEST`; do
fi
done
# Inspect the .svn/entries to figure out what version of svn file entry is
# used.
# The following algorithm is formed via reverse engineering.
@@ -130,7 +146,7 @@ if head -1 $svn_entry_file | grep 'xml version="1.0"' > /dev/null 2>&1;then
elif grep '^file$' $svn_entry_file > /dev/null 2>&1; then
getsvnentries=GETSVNENTRIES_14
else
echo "Unknow svn entries format. Aborted"
echo "Unknown svn entries format. Aborted"
exit 1
fi
@@ -155,5 +171,9 @@ EOF
exit 1
fi
if [ $errcode -ne 0 ]; then
exit 1
fi
test "$verbose" && echo " The MANIFEST is up to date." 1>&2
exit 0

93
bin/config.guess vendored
View File

@@ -1,9 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
timestamp='2005-12-13'
timestamp='2008-01-23'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -55,8 +56,8 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -106,7 +107,7 @@ set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
@@ -160,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
@@ -206,8 +208,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerppc-unknown-mirbsd${UNAME_RELEASE}
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
@@ -325,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
i86pc:SunOS:5.*:*)
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
@@ -527,7 +532,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
*:AIX:*:[45])
*:AIX:*:[456])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
@@ -764,12 +769,19 @@ EOF
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
case ${UNAME_MACHINE} in
pc98)
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
i*:MINGW*:*)
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
@@ -779,9 +791,18 @@ EOF
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
x86:Interix*:[345]*)
echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
exit ;;
*:Interix*:[3456]*)
case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
EM64T | authenticamd)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
IA64)
echo ia64-unknown-interix${UNAME_RELEASE}
exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
@@ -815,6 +836,16 @@ EOF
echo ${UNAME_MACHINE}-pc-minix
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
echo ${UNAME_MACHINE}-unknown-linux-gnu
else
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
@@ -851,7 +882,11 @@ EOF
#endif
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^CPU/{
s: ::g
p
}'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
mips64:Linux:*:*)
@@ -870,7 +905,11 @@ EOF
#endif
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^CPU/{s: ::g;p;}'`"
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^CPU/{
s: ::g
p
}'`"
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or32:Linux:*:*)
@@ -925,6 +964,9 @@ EOF
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
@@ -967,7 +1009,7 @@ EOF
LIBC=gnulibc1
# endif
#else
#if defined(__INTEL_COMPILER) || defined(__PGI)
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
@@ -977,7 +1019,11 @@ EOF
LIBC=dietlibc
#endif
EOF
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '/^LIBC/{s: ::g;p;}'`"
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
/^LIBC/{
s: ::g
p
}'`"
test x"${LIBC}" != x && {
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit
@@ -1179,6 +1225,15 @@ EOF
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
SX-7:SUPER-UX:*:*)
echo sx7-nec-superux${UNAME_RELEASE}
exit ;;
SX-8:SUPER-UX:*:*)
echo sx8-nec-superux${UNAME_RELEASE}
exit ;;
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
@@ -1429,9 +1484,9 @@ This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
If the version you run ($0) is already up to date, please
send the following data and any information you think might be

123
bin/config.sub vendored
View File

@@ -1,9 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
timestamp='2005-12-11'
timestamp='2008-01-16'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -71,8 +72,8 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -240,15 +241,16 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -268,26 +270,25 @@ case $basic_machine in
| mn10200 | mn10300 \
| mt \
| msp430 \
| nios | nios2 \
| ns16k | ns32k \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| score \
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b \
| strongarm \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
m32c)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@@ -317,18 +318,18 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| avr-* | avr32-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| m32r-* | m32rle-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
@@ -350,28 +351,31 @@ case $basic_machine in
| mmix-* \
| mt-* \
| msp430-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-*)
;;
m32c-*)
# Recognize the basic CPU types without company name, with glob match.
xtensa*)
basic_machine=$basic_machine-unknown
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
@@ -443,6 +447,14 @@ case $basic_machine in
basic_machine=ns32k-sequent
os=-dynix
;;
blackfin)
basic_machine=bfin-unknown
os=-linux
;;
blackfin-*)
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
c90)
basic_machine=c90-cray
os=-unicos
@@ -475,8 +487,8 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
cr16c)
basic_machine=cr16c-unknown
cr16)
basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
@@ -668,6 +680,14 @@ case $basic_machine in
basic_machine=m68k-isi
os=-sysv
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
m88k-omron*)
basic_machine=m88k-omron
;;
@@ -683,6 +703,10 @@ case $basic_machine in
basic_machine=i386-pc
os=-mingw32
;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
;;
miniframe)
basic_machine=m68000-convergent
;;
@@ -809,6 +833,14 @@ case $basic_machine in
basic_machine=i860-intel
os=-osf
;;
parisc)
basic_machine=hppa-unknown
os=-linux
;;
parisc-*)
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
pbd)
basic_machine=sparc-tti
;;
@@ -818,6 +850,12 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
@@ -904,6 +942,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei)
basic_machine=mips-sei
os=-seiux
@@ -915,6 +957,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
sh5el)
basic_machine=sh5le-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
@@ -1004,6 +1049,10 @@ case $basic_machine in
basic_machine=tic6x-unknown
os=-coff
;;
tile*)
basic_machine=tile-unknown
os=-linux-gnu
;;
tx39)
basic_machine=mipstx39-unknown
;;
@@ -1120,7 +1169,7 @@ case $basic_machine in
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b)
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
@@ -1193,7 +1242,8 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
@@ -1208,7 +1258,7 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos*)
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1360,6 +1410,12 @@ else
# system, and we'll never get to this point.
case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn)
os=-riscix1.2
;;
@@ -1369,9 +1425,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
c4x-* | tic4x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
@@ -1397,6 +1453,9 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
mep-*)
os=-elf
;;
mips*-cisco)
os=-elf
;;

View File

@@ -1,103 +0,0 @@
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# How to create a parallel version of HDF5 on an IBM SP system
# that uses MPI and MPI-IO.
# Unfortunately, the configure/make process to create the parallel version of
# HDF5 has not yet been automated to the same extent that the sequential
# version has.
# Read the INSTALL file to understand the configure/make process for the
# sequential (i.e., uniprocess) version of HDF5.
# The process for creating the parallel version of HDF5 using MPI-IO
# is similar, but first you will have to set up some environment variables
# with values specific to your local installation.
# The relevant variables are shown below, with values that work for LLNL's
# ASCI baby blue pacific SP as of the writing of these instructions (980210).
# In addition to the environment variables, you _might_ also have to
# create a new file in the config directory.
# You will need to create this file only if the execution of the ./configure
# program aborts with an error after printing the message
# "checking whether byte ordering is bigendian..."
#
# If this is the case, create a new file in the config directory
# whose name is of the form architecture-vendor-OSversion
# (e.g., for baby blue pacific, this file is named powerpc-ibm-aix4.2.1.0)
# and which contains the line
# ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
# if the target architecture is bigendian, or
# ac_cv_c_bigendian=${ac_cv_c_bigendian='no'}
# otherwise.
# Running the program ./bin/config.guess will print out the name
# of the new file you must create.
# Don't try to make a parallel version of HDF5 from the same hdf5 root
# directory where you made a sequential version of HDF5 -- start with
# a fresh copy.
# Here are the flags you must set before running the ./configure program
# to create the parallel version of HDF5.
# (We use csh here, but of course you can adapt to whatever shell you like.)
# compile for MPI jobs
setenv CC "/usr/local/mpich-1.1.2+romio_lgfiles/bin/mpicc"
#
# next 4 for IBM mpi
#
#setenv CC /usr/lpp/ppe.poe/bin/mpcc_r
#
# for both
#
setenv MP_PROCS 1
# These compiler flags work on ASCI baby blue pacific (IBM SP),
# using IBM's MPI and Argonne's MPI-IO (ROMIO):
# -DHAVE_FUNCTION compiler accepts __FUNCTION__ notation
# -I/usr/local/mpio/include/ibm using ROMIO's MPI-IO header files
#
# The following flags are only needed when compiling/linking a user program
# for execution.
# -bI:/usr/include/piofs/piofs.exp this MPI-IO uses PIOFS file system
# -L/usr /local/mpio/lib/ibm -lmpio link to this MPI-IO lib
#
#setenv CFLAGS "-D_LARGE_FILES $CFLAGS"
# The configure/make process needs to be able to run some programs,
# need to specify a processor pool.
# Also, don't prepend the process id in the output of the programs
# run by config/make.
setenv MP_RMPOOL 0
setenv MP_LABELIO no
# Once these variables are set to the proper values for your installation,
# you can run the configure program (i.e., ./configure)
# to set up the Makefiles, etc.
# After configuring, run the make as described in the INSTALL file.
# Once the configuration is complete, you can set any of your
# environment variables to whatever you like.
# the files in the config directory, such as
# config/powerpc-ibm-aix4.2.1.0
# config/powerpc-ibm-aix4.x
# config/powerpc-ibm-aix4.3.2.0
# sometimes will need some help depending on subtlties of the installation
# When compiling and linking your application, don't forget to compile with
# mpcc and link to the MPI-IO library and the parallel version of the HDF5
# library (that was created and installed with the configure/make process).

View File

@@ -17,36 +17,37 @@
# Configures, builds, and runs tests in-place; the output files will be placed
# in a directory called gcov_logs.
# Must be invoked from the root hdf5 directory.
# This script has only been tested on heping.
# This script has been tested on kagiso.
CFLAGS="$CFLAGS -ftest-coverage -fprofile-arcs"
export CFLAGS
./configure --enable-debug=all
LDFLAGS="$LDFLAGS -lgcov"
export LDFLAGS
CC=gcc
export CC
./configure
make
make check
mkdir gcov_logs
cd src
for j in *.c
for j in *.h *.c
do
ln -s ../$j .libs/$j
done
cd .libs
for j in *.gcda
do
gcov -b $j >> gcov.log 2>&1
done
for j in *.gcov
do
mv $j ../../gcov_logs
done
mv gcov.log ../../gcov_logs
for j in *.c *.h
do
mv $j ../gcov_logs
rm $j
done
mv gcov.log ../gcov_logs
cd ..
cd ../..

View File

@@ -71,8 +71,10 @@ use strict;
# the command line) then the first line of the README.txt and RELEASE.txt files
# one directory above the H5public.h file is also modified so it looks
# something like: This is hdf5-1.2.3-pre1 currently under development.
# The AC_INIT macro in configure.in will also change in this case to be
# The AC_INIT macro in configure.ac will also change in this case to be
# something like: AC_INIT([HDF5], [hdf5-1.2.3-pre1], [help@hdfgroup.org])
# Version changes are also reflected in the Windows-maintained H5pubconf.h
# file.
#
# Whenever the version changes, this script will increment the revision
# field in HDF5's libtool shared library version in config/lt_vers.am,
@@ -157,9 +159,11 @@ while ($_ = shift) {
die "mutually exclusive options given\n" if $set && $inc;
# Determine file to use as H5public.h, README.txt,
# release_docs/RELEASE.txt, configure.in, and config/lt_vers.am. The
# README.txt, release_docs/RELEASE.txt, configure.in, and
# config/lt_vers.am files are always in the directory above H5public.h
# release_docs/RELEASE.txt, configure.ac, windows/src/H5pubconf.h,
# vms/src/h5pubconf.h and config/lt_vers.am.
# The README.txt, release_docs/RELEASE.txt, configure.ac,
# vms/src/h5pubconf.h, windows/src/H5pubconf.h, and config/lt_vers.am
# files are always in the directory above H5public.h
unless ($file) {
for (@files) {
($file=$_,last) if -f $_;
@@ -179,10 +183,18 @@ die "unable to read file: $README\n" unless -r $file;
my $RELEASE = $file;
$RELEASE =~ s/[^\/]*$/..\/release_docs\/RELEASE.txt/;
die "unable to read file: $RELEASE\n" unless -r $file;
# configure.in
# configure.ac
my $CONFIGURE = $file;
$CONFIGURE =~ s/[^\/]*$/..\/configure.in/;
$CONFIGURE =~ s/[^\/]*$/..\/configure.ac/;
die "unable to read file: $CONFIGURE\n" unless -r $file;
# windows/src/H5pubconf.h
my $H5PUBCONF = $file;
$H5PUBCONF =~ s/[^\/]*$/..\/windows\/src\/H5pubconf.h/;
die "unable to read file: $H5PUBCONF\n" unless -r $file;
# vms/src/h5pubconf.h
my $H5VMSPUBCONF = $file;
$H5VMSPUBCONF =~ s/[^\/]*$/..\/vms\/src\/h5pubconf.h/;
die "unable to read file: $H5VMSPUBCONF\n" unless -r $file;
# Get the current version number.
open FILE, $file or die "unable to open $file: $!\n";
@@ -230,6 +242,8 @@ if ($set) {
$README = "";
$RELEASE = "";
$CONFIGURE = "";
$H5PUBCONF = "";
$H5VMSPUBCONF = "";
$LT_VERS = "";
@newver = @curver;
}
@@ -325,7 +339,7 @@ sub gen_configure {
print FILE @contents;
close FILE;
$conf =~ /^(.*?)\/?configure.in$/;
$conf =~ /^(.*?)\/?configure.ac$/;
if ($1) {
$rc = system("cd $1 && bin/reconfigure >/dev/null 2>/dev/null && rm -rf autom4te.cache");
@@ -338,9 +352,52 @@ sub gen_configure {
}
}
# Update the configure.in files and regenerate them
# Update the configure.ac files and regenerate them
gen_configure("HDF5", $CONFIGURE) if $CONFIGURE;
sub gen_h5pubconf {
my ($name, $pubconf, @vers) = @_;
my $namelc = lc($name);
my $nameuc = uc($name);
open FILE, $pubconf or die "$pubconf: $!\n";
my @contents = <FILE>;
close FILE;
for (my $i = 0; $i < $#contents; ++$i) {
if ($contents[$i] =~ /\#\s*define\s+H5_PACKAGE\s+/) {
$contents[$i] = "\#define H5_PACKAGE \"$namelc\"\n";
} elsif ($contents[$i] =~ /\#\s*define\s+H5_PACKAGE_NAME\s+/) {
$contents[$i] = "\#define H5_PACKAGE_NAME \"$nameuc\"\n";
} elsif ($contents[$i] =~ /\#\s*define\s+H5_PACKAGE_STRING\s+/) {
$contents[$i] = sprintf("\#define H5_PACKAGE_STRING \"$nameuc %d.%d.%d%s\"\n",
@vers[0,1,2],
$newver[3] eq "" ? "" : "-".$newver[3]);
} elsif ($contents[$i] =~ /\#\s*define\s+H5_PACKAGE_TARNAME\s+/) {
$contents[$i] = "\#define H5_PACKAGE_TARNAME \"$namelc\"\n";
} elsif ($contents[$i] =~ /\#\s*define\s+H5_PACKAGE_VERSION\s+/) {
$contents[$i] = sprintf("\#define H5_PACKAGE_VERSION \"%d.%d.%d%s\"\n",
@vers[0,1,2],
$newver[3] eq "" ? "" : "-".$newver[3]);
} elsif ($contents[$i] =~ /\#\s*define\s+H5_VERSION\s+/) {
$contents[$i] = sprintf("\#define H5_VERSION \"%d.%d.%d%s\"\n",
@vers[0,1,2],
$newver[3] eq "" ? "" : "-".$newver[3]);
}
}
open FILE, ">$pubconf" or die "$pubconf: $!\n";
print FILE @contents;
close FILE;
}
# Update the Windows-maintained H5pubconf.h file
gen_h5pubconf("HDF5", $H5PUBCONF, @newver) if $H5PUBCONF;
# Update the VMS-maintained h5pubconf.h file
gen_h5pubconf("HDF5", $H5VMSPUBCONF, @newver) if $H5VMSPUBCONF;
# Print the new version number
if ($verbose) {
printf("version %d.%d release %d%s\n", @newver[0,1,2],

View File

@@ -1,251 +1,520 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright 1991 by the Massachusetts Institute of Technology
# Copyright (C) 1994 X Consortium
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
# put in absolute paths if you don't have them in your path; or use env. vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
stripcmd=
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
src=
dst=
dir_arg=
dst_arg=
-d) dir_arg=true
shift
continue;;
copy_on_change=false
no_target_directory=
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
Options:
--help display this help and exit.
--version display version info and exit.
-s) stripcmd="$stripprog"
shift
continue;;
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
while test $# -ne 0; do
case $1 in
-c) ;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
else
true
fi
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=$mkdirprog
fi
else
test -d "$dstdir"
dstdir_status=$?
fi
fi
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
obsolete_mkdir_used=false
if [ -f $src -o -d $src ]
then
true
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
mkdir_mode=
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if [ -d $dst ]
then
dst="$dst"/`basename $src`
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
-*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
true
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
fi
prefix=$prefix/
done
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
pathcomp=''
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
pathcomp="${pathcomp}/"
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

File diff suppressed because it is too large Load Diff

View File

@@ -239,7 +239,7 @@ sub create_init ($) {
print HEADER " "x(0*$indent),"assert(${name}_g==(-1));\n";
print HEADER " "x(0*$indent),"if((msg = H5E_create_msg(cls, H5E_MAJOR, \"${major{$name}}\"))==NULL)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, \"error message initialization failed\")\n";
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg))<0)\n";
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg, FALSE))<0)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, \"can't register error message\")\n";
}
@@ -255,7 +255,7 @@ sub create_init ($) {
print HEADER " "x(0*$indent),"assert(${name}_g==(-1));\n";
print HEADER " "x(0*$indent),"if((msg = H5E_create_msg(cls, H5E_MINOR, \"${minor{$name}}\"))==NULL)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, \"error message initialization failed\")\n";
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg))<0)\n";
print HEADER " "x(0*$indent),"if((${name}_g = H5I_register(H5I_ERROR_MSG, msg, FALSE))<0)\n";
print HEADER " "x(1*$indent),"HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, \"can't register error message\")\n";
}
}

219
bin/make_overflow Executable file
View File

@@ -0,0 +1,219 @@
#!/usr/bin/perl -w
require 5.003;
use strict;
# Global settings
# List of supported C types to generate overflow assignment code for
my @ctypes = ( () );
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# Create assignment overflow #ifdefs
#
# Programmer: Quincey Koziol
# Creation Date: 2009/04/09
##############################################################################
# Parse a meaningful line (not a comment or blank line) into the appropriate
# data structure
#
sub parse_line ($) {
my $line = shift; # Get the line to parse
# Parse get the type name and whether it's signed or unsigned
#print "line=$line\n";
if($line =~ /.*SIGNED\s*;\s*$/ || $line =~ /.*UNSIGNED\s*;\s*$/) {
my $name; # The name of the type
my $signed; # Whether the type is signed or not
# Get the type's name & signed status
($name, $signed) = ($line =~ /^\s*(\w*)\s*,\s*(\w*)\s*;\s*$/);
#print "name = '$name', signed = '$signed'\n";
# Append the type to the list of C types already parsed
push @ctypes, [$name, $signed];
}
# Unknown keyword
else {
die "unknown keyword: $line";
}
}
##############################################################################
# Print the copyright into an open file
#
sub print_copyright ($) {
my $fh = shift;
print $fh "/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n";
print $fh " * Copyright by The HDF Group. *\n";
print $fh " * Copyright by the Board of Trustees of the University of Illinois. *\n";
print $fh " * All rights reserved. *\n";
print $fh " * *\n";
print $fh " * This file is part of HDF5. The full HDF5 copyright notice, including *\n";
print $fh " * terms governing use, modification, and redistribution, is contained in *\n";
print $fh " * the files COPYING and Copyright.html. COPYING can be found at the root *\n";
print $fh " * of the source code distribution tree; Copyright.html can be found at the *\n";
print $fh " * root level of an installed copy of the electronic HDF5 document set and *\n";
print $fh " * is linked from the top-level documents page. It can also be found at *\n";
print $fh " * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *\n";
print $fh " * access to either file, you may request a copy from help\@hdfgroup.org. *\n";
print $fh " * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */\n";
}
##############################################################################
# Print the "do not change this file" warning
#
sub print_warning ($) {
my $fh = shift;
print $fh "\n/* Generated automatically by bin/make_overflow -- do not edit */\n";
print $fh "/* Add new types to H5overflow.txt file */\n\n";
}
##############################################################################
# Print start of ifdef's to prevent a file from being re-included
#
sub print_startprotect ($$) {
my ($fh, $file) = @_;
# Clip off the ".h" part of the name
$file =~ s/(\w*)\.h/$1/;
# Print the ifdef info
print $fh "\n#ifndef _${file}_H\n";
print $fh "#define _${file}_H\n";
}
##############################################################################
# Print assignment overflow macros for each type
#
sub print_typemacros ($) {
my $fh = shift; # File handle for output file
my ($src_aref, $dst_aref); # References for each type's information
# Print the descriptive comment
print $fh "\n\n/* Each type in this file is tested for assignment to the other types,\n";
print $fh " * and range checks are defined for bad assignments at run-time.\n";
print $fh " */\n";
for $src_aref (@ctypes) {
# Print a descriptive comment
print $fh "\n/* Assignment checks for @$src_aref[0] */\n\n";
for $dst_aref (@ctypes) {
if (@$src_aref[0] ne @$dst_aref[0]) {
# Print a descriptive comment
print $fh "/* src: @$src_aref[0], dst: @$dst_aref[0] */\n";
# Print actual type size checks & macro definitions
print $fh "#if H5_SIZEOF_", uc @$src_aref[0], " < H5_SIZEOF_", uc @$dst_aref[0], "\n";
print $fh " #define ASSIGN_", @$src_aref[0], "_TO_", @$dst_aref[0], "(dst, dsttype, src, srctype) \\\n";
if ( @$src_aref[1] eq @$dst_aref[1]) {
print $fh " ASSIGN_TO_LARGER_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)\n";
} elsif ( @$src_aref[1] eq "SIGNED") {
print $fh " ASSIGN_TO_LARGER_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)\n";
} else {
print $fh " ASSIGN_TO_LARGER_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)\n";
}
print $fh "#elif H5_SIZEOF_", uc @$src_aref[0], " > H5_SIZEOF_", uc @$dst_aref[0], "\n";
print $fh " #define ASSIGN_", @$src_aref[0], "_TO_", @$dst_aref[0], "(dst, dsttype, src, srctype) \\\n";
print $fh " ASSIGN_TO_SMALLER_SIZE(dst, dsttype, src, srctype)\n";
print $fh "#else /* H5_SIZEOF_", uc @$src_aref[0], " == H5_SIZEOF_", uc @$dst_aref[0], " */\n";
print $fh " #define ASSIGN_", @$src_aref[0], "_TO_", @$dst_aref[0], "(dst, dsttype, src, srctype) \\\n";
if ( @$src_aref[1] eq @$dst_aref[1]) {
print $fh " ASSIGN_TO_SAME_SIZE_SAME_SIGNED(dst, dsttype, src, srctype)\n";
} elsif ( @$src_aref[1] eq "SIGNED") {
print $fh " ASSIGN_TO_SAME_SIZE_SIGNED_TO_UNSIGNED(dst, dsttype, src, srctype)\n";
} else {
print $fh " ASSIGN_TO_SAME_SIZE_UNSIGNED_TO_SIGNED(dst, dsttype, src, srctype)\n";
}
print $fh "#endif /* src: @$src_aref[0] dst: @$dst_aref[0] */\n\n";
}
}
}
}
##############################################################################
# Print end of ifdef's to prevent a file from being re-included
#
sub print_endprotect ($$) {
my ($fh, $file) = @_;
# Clip off the ".h" part of the name
$file =~ s/(\w*)\.h/$1/;
# Print the endif info
print $fh "#endif /* ${file}_H */\n\n";
}
##############################################################################
# Create the generated portion of the public header file
#
sub create_public ($) {
my $prefix = shift; # Get the prefix for the generated file
my $file = "H5overflow.h"; # Name of file to generate
my $name; # Name of function
# Rename previous file
# rename "${prefix}${file}", "${prefix}${file}~" or die "unable to make backup";
# Open new header file
open HEADER, ">${prefix}${file}" or die "unable to modify source";
# Create file contents
print_copyright(*HEADER);
print_warning(*HEADER);
print_startprotect(*HEADER, $file);
print_typemacros(*HEADER);
print_endprotect(*HEADER, $file);
# Close header file
close HEADER;
}
##############################################################################
# Read symbol version file (given as command-line argument) in and process it
# into internal data structures, then create header files.
#
my $file; # Filename of input file
for $file (@ARGV) {
my $prefix; # Local prefix for generated files
my $line; # Line from input file
#print "file = '$file'\n";
($prefix) = ($file =~ /(^.*\/)/);
#print "prefix = '$prefix'\n";
# Read in the entire file
open SOURCE, $file or die "$file: $!\n";
while ( defined ($line=<SOURCE>) ) {
# Skip blank lines and those lines whose first character is a '#'
if(!($line =~ /(^\s*#.*$)|(^\s*$)/)) {
# Construct data structures for later printing
parse_line($line);
}
}
close SOURCE;
# Create header files
print "Generating 'H5overflow.h'\n";
create_public($prefix);
}

View File

@@ -106,6 +106,15 @@ sub print_globalapivers ($) {
print $fh " * API symbol, the individual API version macro takes priority.\n";
print $fh " */\n";
for $curr_idx ($min_sup_idx .. ($max_idx - 1)) {
# Print API version ifdef
print $fh "#if defined(H5_USE_1", ($curr_idx * 2), "_API_DEFAULT) && !defined(H5_USE_1", ($curr_idx * 2), "_API)\n";
# Print API version definition
print $fh "#define H5_USE_1", ($curr_idx * 2), "_API 1\n";
# Print API version endif
print $fh "#endif /* H5_USE_1", ($curr_idx * 2), "_API_DEFAULT && !H5_USE_1", ($curr_idx * 2), "_API */\n\n";
}
# Loop over supported older library APIs and define the appropriate macros
for $curr_idx ($min_sup_idx .. ($max_idx - 1)) {
# Print API version ifdef

101
bin/output_filter.sh Normal file
View File

@@ -0,0 +1,101 @@
## Copyright by The HDF Group.
## All rights reserved.
##
## This file is part of HDF5. The full HDF5 copyright notice, including
## terms governing use, modification, and redistribution, is contained in
## the files COPYING and Copyright.html. COPYING can be found at the root
## of the source code distribution tree; Copyright.html can be found at the
## root level of an installed copy of the electronic HDF5 document set and
## is linked from the top-level documents page. It can also be found at
## http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
## access to either file, you may request a copy from help@hdfgroup.org.
# This contains function definitions of output filtering.
# This file should only be sourced in by another shell script.
#
# Programmer: Albert Cheng
# Created Date: 2011/5/3
# Some systems will dump some messages to stdout for various reasons.
# Remove them from the stdout result file.
# $1 is the file name of the file to be filtered.
# Cases of filter needed:
# 1. Sandia Red-Storm
# yod always prints these two lines at the beginning.
# LibLustre: NAL NID: 0004a605 (5)
# Lustre: OBD class driver Build Version: 1, info@clusterfs.com
# 2. LANL Lambda
# mpijob mirun -np always add an extra line at the end like:
# P4 procgroup file is /users/acheng/.lsbatch/host10524.l82
STDOUT_FILTER() {
result_file=$1
tmp_file=/tmp/h5test_tmp_$$
# Filter Sandia Red-Storm yod messages.
cp $result_file $tmp_file
sed -e '/^LibLustre:/d' -e '/^Lustre:/d' \
< $tmp_file > $result_file
# Filter LANL Lambda mpirun message.
cp $result_file $tmp_file
sed -e '/^P4 procgroup file is/d' \
< $tmp_file > $result_file
# cleanup
rm -f $tmp_file
}
# Some systems will dump some messages to stderr for various reasons.
# Remove them from the stderr result file.
# $1 is the file name of the file to be filtered.
# Cases of filter needed:
# 1. MPE:
# In parallel mode and if MPE library is used, it prints the following
# two message lines whether the MPE tracing is used or not.
# Writing logfile.
# Finished writing logfile.
# 2. LANL MPI:
# The LANL MPI will print some messages like the following,
# LA-MPI: *** mpirun (1.5.10)
# LA-MPI: *** 3 process(es) on 2 host(s): 2*fln21 1*fln22
# LA-MPI: *** libmpi (1.5.10)
# LA-MPI: *** Copyright 2001-2004, ACL, Los Alamos National Laboratory
# 3. h5diff debug output:
# Debug output all have prefix "h5diff debug: ".
# 4. AIX system prints messages like these when it is aborting:
# ERROR: 0031-300 Forcing all remote tasks to exit due to exit code 1 in task 0
# ERROR: 0031-250 task 4: Terminated
# ERROR: 0031-250 task 3: Terminated
# ERROR: 0031-250 task 2: Terminated
# ERROR: 0031-250 task 1: Terminated
# 5. LLNL Blue-Gene mpirun prints messages like there when it exit non-zero:
# <Apr 12 15:01:49.075658> BE_MPI (ERROR): The error message in the job record is as follows:
# <Apr 12 15:01:49.075736> BE_MPI (ERROR): "killed by exit(1) on node 0"
STDERR_FILTER() {
result_file=$1
tmp_file=/tmp/h5test_tmp_$$
# Filter LLNL Blue-Gene error messages in both serial and parallel modes
# since mpirun is used in both modes.
cp $result_file $tmp_file
sed -e '/ BE_MPI (ERROR): /d' \
< $tmp_file > $result_file
# Filter MPE messages
if test -n "$pmode"; then
cp $result_file $tmp_file
sed -e '/^Writing logfile./d' -e '/^Finished writing logfile./d' \
< $tmp_file > $result_file
fi
# Filter LANL MPI messages
# and LLNL srun messages
# and AIX error messages
if test -n "$pmode"; then
cp $result_file $tmp_file
sed -e '/^LA-MPI:/d' -e '/^srun:/d' -e '/^ERROR:/d' \
< $tmp_file > $result_file
fi
# Filter h5diff debug output
cp $result_file $tmp_file
sed -e '/^h5diff debug: /d' \
< $tmp_file > $result_file
# clean up temporary files.
rm -f $tmp_file
}

View File

@@ -28,32 +28,37 @@
# of versions that can get confused (not even counting the m4 utility)!
# HDF5 currently uses the following versions of the autotools:
AUTOCONF_VERSION="autoconf (GNU Autoconf) 2.61"
AUTOMAKE_VERSION="automake (GNU automake) 1.10"
AUTOHEADER_VERSION="autoheader (GNU Autoconf) 2.61"
ACLOCAL_VERSION="aclocal (GNU automake) 1.10"
LIBTOOL_VERSION="(GNU libtool) 1.5.22"
AUTOCONF_VERSION="autoconf (GNU Autoconf) 2.69"
AUTOMAKE_VERSION="automake (GNU automake) 1.12.3"
AUTOHEADER_VERSION="autoheader (GNU Autoconf) 2.69"
ACLOCAL_VERSION="aclocal (GNU automake) 1.12.3"
LIBTOOL_VERSION="(GNU libtool) 2.4.2"
M4_VERSION="m4 (GNU M4) 1.4.16"
#
# When upgrading automake's version, don't forget to also update its
# helper utilities, especially depcomp.
# If paths to autotools are not specified by the user, assume tools are
# running on kagiso and set paths accordingly.
# running on jam in /mnt/hdf/packages and set paths accordingly.
if test -z ${AUTOCONF}; then
AUTOCONF=/home1/packages/autoconf/autoconf-2.61/bin/autoconf
AUTOCONF=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoconf
fi
if test -z ${AUTOMAKE}; then
AUTOMAKE=/home1/packages/automake/automake-1.10.0/bin/automake-1.10
AUTOMAKE=/mnt/hdf/packages/automake/automake-1.12.3/bin/automake-1.12
fi
if test -z ${AUTOHEADER}; then
AUTOHEADER=/home1/packages/autoconf/autoconf-2.61/bin/autoheader
AUTOHEADER=/mnt/hdf/packages/autoconf/autoconf-2.69/bin/autoheader
fi
if test -z ${ACLOCAL}; then
ACLOCAL=/home1/packages/automake/automake-1.10.0/bin/aclocal-1.10
ACLOCAL=/mnt/hdf/packages/automake/automake-1.12.3/bin/aclocal-1.12
fi
if test -z ${LIBTOOL}; then
LIBTOOL=/home1/packages/libtool/libtool-1.5.22/bin/libtool
LIBTOOL=/mnt/hdf/packages/libtool/libtool-2.4.2/bin/libtool
fi
if test -z ${M4}; then
M4=/mnt/hdf/packages/m4/m4-1.4.16/bin/m4
fi
# Check version numbers of all autotools against the "correct" versions
@@ -82,14 +87,17 @@ if test -z "${LT_VERS}"; then
echo "${LIBTOOL} version is not ${LIBTOOL_VERSION}"
exit 1
fi
# Use the latest version of M4
PATH=/home1/packages/m4/m4-1.4.7/bin:/home1/packages/m4/m4-1.4.7/share:$PATH
M4_VERS=`${M4} --version 2>&1 | grep "${M4_VERSION}"`
if test -z "${M4_VERS}"; then
echo "${M4} version is not ${M4_VERSION}"
exit 1
fi
# Make sure that the tools are in the path.
AUTOCONF_DIR=`dirname ${AUTOCONF}`
LIBTOOL_DIR=`dirname ${LIBTOOL}`
PATH=${AUTOCONF_DIR}:$PATH
M4_DIR=`dirname ${M4}`
PATH=${AUTOCONF_DIR}:${M4_DIR}:$PATH
# Run autoconf/automake commands in order
echo ${ACLOCAL} -I ${LIBTOOL_DIR}/../share/aclocal

View File

@@ -14,42 +14,10 @@
# access to either file, you may request a copy from help@hdfgroup.org.
#
# Make a release of hdf5. The command-line switches are:
# Make a release of hdf5.
#
# -d DIR The name of the directory where the releas(es) should be
# placed. By default, the directory is ./releases
#
# --nocheck Ignore errors in MANIFEST file.
#
# --private Make a private release with today's date in version information.
#
# The other command-line options are the names of the programs to use
# for compressing the resulting tar archive (if none are given then
# `tar md5' is assumed):
#
# tar -- use tar and don't do any compressing.
# compress -- use compress and append `.Z' to the output name.
# gzip -- use gzip with `-9' and append `.gz' to the output name.
# bzip2 -- use bzip2 with `-9' and append `.bz2' to the output name.
# md5 -- produce a md5 checksum in addition to the archive.
# doc -- produce the latest doc tree in addition to the archive.
#
# Examples:
#
# $ release
# releases/hdf5-1.0.38.tar
# releases/hdf5-1.0.38.tar.md5
#
# $ release gzip
# releases/hdf5-1.0.38.tar.gz
#
# $ release -d /tmp tar compress gzip bzip2 md5 doc
# /tmp/hdf5-1.0.38.tar
# /tmp/hdf5-1.0.38.tar.Z
# /tmp/hdf5-1.0.38.tar.gz
# /tmp/hdf5-1.0.38.tar.bz2
# /tmp/hdf5-1.0.38.tar.md5
# /tmp/hdf5-1.0.38_doc.tar
# Programmer: Robb Matzke
# Creation date: on or before 1998-01-29.
#
# Modifications
# Robb Matzke, 1999-07-16
@@ -59,6 +27,12 @@
# Albert Cheng, 1999-10-26
# Moved the MANIFEST checking to a separate command file so that
# it can be invoked individually.
#
# Albert Cheng, 2004-08-14
# Added the --private option.
#
# James Laird, 2005-09-07
# Added the md5 method.
# Function definitions
#
@@ -70,6 +44,10 @@ Usage: $0 [--nocheck] [-d <dir>] [-h] <methods> ...
-d DIR The name of the directory where the releas(es) should be
placed. By default, the directory is ./releases
--docver BRANCHNAME This is added for 1.8 and beyond to get the correct
version of documentation files from the hdf5docs
repository. BRANCHNAME for v1.8 should be hdf5_1_8.
--nocheck Ignore errors in MANIFEST file.
--private Make a private release with today's date in version information.
@@ -119,6 +97,7 @@ VERS_OLD=
test "$VERS" || exit 1
verbose=yes
check=yes
release_date=`date +%F`
today=`date +%Y%m%d`
pmode='no'
tmpdir="../#release_tmp.$$" # tmp work directory
@@ -157,6 +136,10 @@ while [ -n "$1" ]; do
--private)
pmode=yes
;;
--docver)
DOCVERSION=$1
shift
;;
-*)
echo "Unknown switch: $arg" 1>&2
USAGE
@@ -222,18 +205,25 @@ grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_ >$MANIFEST
# Prepare the source tree for a release.
ln -s `pwd` $tmpdir/$HDF5_VERS || exit 1
mv Makefile $tmpdir/Makefile.x 2>/dev/null #might fail
# Save a backup copy of Makefile if exists.
test -f Makefile && mv Makefile $tmpdir/Makefile.x
cp -p Makefile.dist Makefile
# Update README.txt and release_docs/RELEASE.txt with release information.
# Update README.txt and release_docs/RELEASE.txt with release information in
# line 1.
for f in README.txt release_docs/RELEASE.txt; do
echo "HDF5 version $VERS released on `date`" >$f.x
tail +2l $f >>$f.x
echo "HDF5 version $VERS released on $release_date" >$f.x
sed -e 1d $f >>$f.x
mv $f.x $f
# Make sure new files are of the right access mode
chmod 644 $f
done
# trunk is different than branches.
if [ "${DOCVERSION}" ]; then
DOC_URL=http://svn.hdfgroup.uiuc.edu/hdf5doc/branches/${DOCVERSION}
fi
# Create the tar file
test "$verbose" && echo " Running tar..." 1>&2
( \
@@ -265,16 +255,19 @@ for comp in $methods; do
(cd $tmpdir; md5sum $HDF5_VERS.tar ) > $DEST/$HDF5_VERS.tar.md5
;;
doc)
if [ "${DOCVERSION}" = "" ]; then
DOCVERSION=trunk
fi
test "$verbose" && echo " Creating docs..." 1>&2
# Check out docs from svn repo
(cd $tmpdir; svn co $DOC_URL > /dev/null) || exit 1
# Create doxygen C++ RM
(cd c++/src && doxygen cpp_doc_config > /dev/null ) || exit 1
# Replace version of C++ RM with just-created version
rm -rf $tmpdir/trunk/html/$CPPLUS_RM_NAME
mv c++/src/$CPPLUS_RM_NAME $tmpdir/trunk/html/$CPPLUS_RM_NAME
# Compress the docs and move them to the release area
mv $tmpdir/trunk $tmpdir/${HDF5_VERS}_docs
rm -rf $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME
mv c++/src/$CPPLUS_RM_NAME $tmpdir/${DOCVERSION}/html/$CPPLUS_RM_NAME
# Compress the docs and move them to the release area
mv $tmpdir/$DOCVERSION $tmpdir/${HDF5_VERS}_docs
(cd $tmpdir && tar cf ${HDF5_VERS}_docs.tar ${HDF5_VERS}_docs)
mv $tmpdir/${HDF5_VERS}_docs.tar $DEST
;;
@@ -284,7 +277,8 @@ done
# Copy the RELEASE.txt to the release area.
cp release_docs/RELEASE.txt $DEST/$HDF5_VERS-RELEASE.txt
# Restore previous Makefile if existed.
# Remove distributed Makefile and restore previous Makefile if existed.
rm -f Makefile
test -f $tmpdir/Makefile.x && mv $tmpdir/Makefile.x Makefile
# Restore OLD version information, then no need for trap.

View File

@@ -199,6 +199,9 @@ while [ $# -gt 0 ] ; do
check-vfd)
CHECKVAL=check-vfd
;;
yodconfigure)
YODCONFIGURE=yes
;;
--*)
OP_CONFIGURE="$OP_CONFIGURE $1"
;;
@@ -284,7 +287,14 @@ fi
# Setup the proper configure option (--with-zlib) to use zlib library
# provide ZLIB is non-empty.
ZLIB=${ZLIB:+"--with-zlib="$ZLIB}
CONFIGURE="./configure $ZLIB $OP_CONFIGURE"
if [ -n "$YODCONFIGURE" ]; then
cp configure configure.yod
bin/yodconfigure configure.yod
CONFIGURE="./configure.yod"
else
CONFIGURE="./configure"
fi
CONFIGURE="$CONFIGURE $ZLIB $OP_CONFIGURE"
# Execute the requests
snapshot=yes
@@ -412,7 +422,7 @@ if [ "$cmd" = "all" -o -n "$cmdtest" -o -n "$cmddiff" ]; then
TIMESTAMP "check-install" && \
${MAKE} check-install && DISKUSAGE \
TIMESTAMP "uninstall" && \
${MAKE} uninstall-all) && DISKUSAGE ; then
${MAKE} uninstall-all && DISKUSAGE); then
:
else
errcode=$?

View File

@@ -18,4 +18,6 @@
# latest revision of that branch. If set to "hdf5", it uses the main
# version.
# H5VER tells runtest which version to run
H5VERSION=hdf5
H5VERSION=hdf5_1_8_10
H5VER="-r1.8.10"

View File

@@ -36,7 +36,10 @@ $Source = "";
"H5D_fill_time_t" => "Df",
"H5D_fill_value_t" => "DF",
"H5FD_mpio_chunk_opt_t" => "Dh",
"H5D_mpio_actual_io_mode_t" => "Di",
"H5D_layout_t" => "Dl",
"H5D_mpio_no_collective_cause_t" => "Dn",
"H5D_mpio_actual_chunk_opt_mode_t" => "Do",
"H5D_space_status_t" => "Ds",
"H5FD_mpio_xfer_t" => "Dt",
"herr_t" => "e",
@@ -84,6 +87,8 @@ $Source = "";
"H5T_sign_t" => "Ts",
"H5T_class_t" => "Tt",
"H5T_str_t" => "Tz",
"unsigned long" => "Ul",
"unsigned long long" => "UL",
"void" => "x",
"FILE" => "x",
"H5A_operator_t" => "x",
@@ -102,14 +107,18 @@ $Source = "";
"H5FD_t" => "x",
"H5FD_class_t" => "x",
"H5FD_stream_fapl_t" => "x",
"H5FD_file_image_callbacks_t" => "x",
"H5G_iterate_t" => "x",
"H5G_info_t" => "x",
"H5I_free_t" => "x",
"H5L_class_t" => "x",
"H5L_elink_traverse_t" => "x",
"H5L_iterate_t" => "x",
"H5MM_allocate_t" => "x",
"H5MM_free_t" => "x",
"H5O_info_t" => "x",
"H5O_iterate_t" => "x",
"H5O_mcdt_search_cb_t" => "x",
"H5P_cls_create_func_t" => "x",
"H5P_cls_copy_func_t" => "x",
"H5P_cls_close_func_t" => "x",
@@ -212,6 +221,9 @@ sub rewrite_func ($$$$$) {
my %names;
for $arg (@args) {
if($arg=~/\w*\.{3}\w*/){
next;
}
unless ($arg=~/^(([a-z_A-Z]\w*\s+)+\**)
([a-z_A-Z]\w*)(\[.*?\])?
(\s*\/\*\s*(in|out|in_out)\s*\*\/)?\s*$/x) {

53
c++/CMakeLists.txt Normal file
View File

@@ -0,0 +1,53 @@
cmake_minimum_required (VERSION 2.8.6)
PROJECT (HDF5_CPP)
#-----------------------------------------------------------------------------
# Apply Definitions to compiler in this directory and below
#-----------------------------------------------------------------------------
ADD_DEFINITIONS (${HDF5_EXTRA_C_FLAGS})
#-----------------------------------------------------------------------------
# Shared/Static Libs
#-----------------------------------------------------------------------------
IF (BUILD_SHARED_LIBS)
SET (CPP_BUILT_AS_DYNAMIC_LIB 1)
ELSE (BUILD_SHARED_LIBS)
SET (CPP_BUILT_AS_STATIC_LIB 1)
ENDIF (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Generate configure file
#-----------------------------------------------------------------------------
CONFIGURE_FILE (${HDF5_RESOURCES_DIR}/H5cxx_config.h.in
${HDF5_BINARY_DIR}/H5cxx_pubconf.h
)
#-----------------------------------------------------------------------------
# Setup Include directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (${HDF5_CPP_SOURCE_DIR}/src)
INCLUDE_DIRECTORIES (${HDF5_BINARY_DIR})
#-----------------------------------------------------------------------------
# Parallel/MPI, prevent spurious cpp/cxx warnings
#-----------------------------------------------------------------------------
IF (H5_HAVE_PARALLEL)
ADD_DEFINITIONS ("-DMPICH_SKIP_MPICXX")
ADD_DEFINITIONS ("-DMPICH_IGNORE_CXX_SEEK")
ENDIF (H5_HAVE_PARALLEL)
ADD_SUBDIRECTORY (${HDF5_CPP_SOURCE_DIR}/src ${HDF5_CPP_BINARY_DIR}/src)
#-----------------------------------------------------------------------------
# Build the CPP Examples
#-----------------------------------------------------------------------------
IF (HDF5_BUILD_EXAMPLES)
ADD_SUBDIRECTORY (${HDF5_CPP_SOURCE_DIR}/examples ${HDF5_CPP_BINARY_DIR}/examples)
ENDIF (HDF5_BUILD_EXAMPLES)
#-----------------------------------------------------------------------------
# Build the CPP unit tests
#-----------------------------------------------------------------------------
IF (BUILD_TESTING)
ADD_SUBDIRECTORY (${HDF5_CPP_SOURCE_DIR}/test ${HDF5_CPP_BINARY_DIR}/test)
ENDIF (BUILD_TESTING)

2
c++/COPYING Executable file → Normal file
View File

@@ -1,5 +1,5 @@
Copyright by The HDF Group (THG) and
Copyright by The HDF Group and
The Board of Trustees of the University of Illinois.
All rights reserved.

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.12.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -31,9 +31,27 @@
# Top-level HDF5-C++ Makefile(.in)
#
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -49,17 +67,31 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am COPYING
TESTS =
subdir = c++
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -69,80 +101,140 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
distdir
ETAGS = etags
CTAGS = ctags
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
am__tty_colors = $(am__tty_colors_dummy)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = /home1/packages/automake/automake-1.9.6/bin/aclocal-1.9 -I /afs/ncsa/projects/hdf/packages/libtool_1.5.14/Linux_2.4/share/aclocal
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ADD_PARALLEL_FILES = @ADD_PARALLEL_FILES@
AMTAR = @AMTAR@
# H5_CFLAGS holds flags that should be used when building hdf5,
# but which should not be exported to h5cc for building other programs.
# AM_CFLAGS is an automake construct which should be used by Makefiles
# instead of CFLAGS, as CFLAGS is reserved solely for the user to define.
# This applies to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS as well.
AM_CFLAGS = @AM_CFLAGS@ @H5_CFLAGS@
AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
# Set the paths for AFS installs of autotools for Linux machines
# Ideally, these tools should never be needed during the build.
AUTOCONF = /home1/packages/autoconf/autoconf-2.60/bin/autoconf
AUTOHEADER = /home1/packages/autoconf/autoconf-2.60/bin/autoheader
AUTOMAKE = /home1/packages/automake/automake-1.9.6/bin/automake-1.9
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BYTESEX = @BYTESEX@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CC_VERSION = @CC_VERSION@
# H5_CFLAGS holds flags that should be used as CFLAGS when building hdf5,
# but which shouldn't be exported to h5cc for building other programs.
CFLAGS = @CFLAGS@ @H5_CFLAGS@
CFLAGS = @CFLAGS@
CLEARFILEBUF = @CLEARFILEBUF@
CODESTACK = @CODESTACK@
CONFIG_DATE = @CONFIG_DATE@
CONFIG_MODE = @CONFIG_MODE@
CONFIG_USER = @CONFIG_USER@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ @H5_CPPFLAGS@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ @H5_CXXFLAGS@
CXXFLAGS = @CXXFLAGS@
CXX_VERSION = @CXX_VERSION@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFAULT_API_VERSION = @DEFAULT_API_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEPRECATED_SYMBOLS = @DEPRECATED_SYMBOLS@
DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
EXTERNAL_FILTERS = @EXTERNAL_FILTERS@
# Make sure that these variables are exported to the Makefiles
F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
FCFLAGS = @FCFLAGS@ @H5_FCFLAGS@
FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FFLAGS = @FFLAGS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
GPFS = @GPFS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
HSIZET = @HSIZET@
HSIZE_T = @HSIZE_T@
HSSIZE_T = @HSSIZE_T@
INSTALL = @INSTALL@
@@ -150,26 +242,38 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTRUMENT = @INSTRUMENT@
INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@
LARGEFILE = @LARGEFILE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LL_PATH = @LL_PATH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_STATIC_EXEC = @LT_STATIC_EXEC@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MPE = @MPE@
MPI_GET_SIZE = @MPI_GET_SIZE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJECT_NAMELEN_DEFAULT_F = @OBJECT_NAMELEN_DEFAULT_F@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
@@ -182,22 +286,21 @@ RUNSERIAL = @RUNSERIAL@
R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
SETX = @SETX@
SET_MAKE = @SET_MAKE@
# Hardcode SHELL to be /bin/sh. Most machines have this shell, and
# on at least one machine configure fails to detect its existence (janus).
# Also, when HDF5 is configured on one machine but run on another,
# configure's automatic SHELL detection may not work on the build machine.
SHELL = /bin/sh
SHELL = @SHELL@
SIZE_T = @SIZE_T@
STATIC_EXEC = @STATIC_EXEC@
STATIC_SHARED = @STATIC_SHARED@
STRICT_FORMAT_CHECKS = @STRICT_FORMAT_CHECKS@
STRIP = @STRIP@
TESTPARALLEL = @TESTPARALLEL@
THREADSAFE = @THREADSAFE@
TIME = @TIME@
TR = @TR@
TRACE_API = @TRACE_API@
UNAME_INFO = @UNAME_INFO@
USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@
USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@
USE_FILTER_NBIT = @USE_FILTER_NBIT@
@@ -206,13 +309,15 @@ USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@
USE_FILTER_SZIP = @USE_FILTER_SZIP@
USINGMEMCHECKER = @USINGMEMCHECKER@
VERSION = @VERSION@
WORDS_BIGENDIAN = @WORDS_BIGENDIAN@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_FC = @ac_ct_FC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -228,8 +333,12 @@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
# Install directories that automake doesn't know about
docdir = $(exec_prefix)/doc
dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
@@ -237,9 +346,7 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
# Install directories that automake doesn't know about
includedir = $(exec_prefix)/include
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
@@ -258,6 +365,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -267,12 +375,12 @@ CP = cp
# Some machines need a command to run executables; this is that command
# so that our tests will run.
# We use RUNTESTS instead of RUNSERIAL directly because it may be that
# We use RUNEXEC instead of RUNSERIAL directly because it may be that
# some tests need to be run with a different command. Older versions
# of the makefiles used the command
# $(LIBTOOL) --mode=execute
# in some directories, for instance.
RUNTESTS = $(RUNSERIAL)
RUNEXEC = $(RUNSERIAL)
# Libraries to link to while building
LIBHDF5 = $(top_builddir)/src/libhdf5.la
@@ -285,14 +393,25 @@ LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5CPP_HL = $(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
# Note that in svn revision 19400 the '/' after DESTDIR in H5* variables below
# has been removed. According to the official description of DESTDIR by Gnu at
# http://www.gnu.org/prep/standards/html_node/DESTDIR.html, DESTDIR is
# prepended to the normal and complete install path that it precedes for the
# purpose of installing in a temporary directory which is useful for building
# rpms and other packages. The '/' after ${DESTDIR} will be followed by another
# '/' at the beginning of the normal install path. When DESTDIR is empty the
# path then begins with '//', which is incorrect and causes problems at least for
# Cygwin.
# Scripts used to build examples
# If only shared libraries have been installed, have h5cc build examples with
# shared libraries instead of static libraries
H5CC = $(bindir)/h5cc
H5CC_PP = $(bindir)/h5pcc
H5FC = $(bindir)/h5fc
H5FC_PP = $(bindir)/h5pfc
H5CPP = $(bindir)/h5c++
H5CC = ${DESTDIR}$(bindir)/h5cc
H5CC_PP = ${DESTDIR}$(bindir)/h5pcc
H5FC = ${DESTDIR}$(bindir)/h5fc
H5FC_PP = ${DESTDIR}$(bindir)/h5pfc
H5CPP = ${DESTDIR}$(bindir)/h5c++
ACLOCAL_AMFLAGS = "-I m4"
# The trace script; this is used on source files from the C library to
# insert tracing macros.
@@ -316,6 +435,10 @@ LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES) \
PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
$(EXTRA_PROG)
chk_TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
TEST_EXTENSIONS = .sh
SH_LOG_COMPILER = $(SHELL)
AM_SH_LOG_FLAGS =
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chkexe_)
@@ -327,14 +450,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/Makefile
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -344,6 +467,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -352,6 +476,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
@@ -360,13 +485,13 @@ clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
@@ -375,7 +500,11 @@ $(RECURSIVE_TARGETS):
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
@@ -383,50 +512,23 @@ $(RECURSIVE_TARGETS):
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
cscopelist-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -434,14 +536,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
@@ -453,39 +555,57 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -506,29 +626,41 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
@@ -549,16 +681,22 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -577,6 +715,8 @@ dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
@@ -585,18 +725,28 @@ install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am: installcheck-local
maintainer-clean: maintainer-clean-recursive
@@ -618,23 +768,24 @@ ps-am:
uninstall-am:
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
install-strip
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
cscopelist-recursive ctags-recursive install-am install-strip \
tags-recursive
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am all-local check check-TESTS check-am clean \
clean-generic clean-libtool ctags ctags-recursive distclean \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-pdf \
install-pdf-am install-ps install-ps-am install-strip \
installcheck installcheck-am installcheck-local installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-local pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am
clean-generic clean-libtool cscopelist cscopelist-recursive \
ctags ctags-recursive distclean distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installcheck-local installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
# List all build rules defined by HDF5 Makefiles as "PHONY" targets here.
@@ -668,7 +819,7 @@ check-clean ::
# build files in this directory.
build-lib: $(LIB)
build-progs: $(LIB) $(PROGS)
build-tests: $(LIB) $(PROGS) $(TESTS)
build-tests: $(LIB) $(PROGS) $(chk_TESTS)
# General rule for recursive building targets.
# BUILT_SOURCES contain targets that need to be built before anything else
@@ -694,7 +845,7 @@ check-clean ::
# Tell Automake to build tests when the user types `make all' (this is
# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since
# Automake won't build them automatically, either.
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(chk_TESTS)
# make install-doc doesn't do anything outside of doc directory, but
# Makefiles should recognize it.
@@ -718,7 +869,7 @@ check-install: installcheck
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
# The timestamps give a rough idea how much time the tests use.
#
# Note that targets in TESTS (defined above) will be built when the user
# Note that targets in chk_TESTS (defined above) will be built when the user
# types 'make tests' or 'make check', but only programs in TEST_PROG,
# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed.
check-TESTS: test
@@ -728,7 +879,7 @@ test _test:
@$(MAKE) build-check-p
# Actual execution of check-s.
build-check-s: $(LIB) $(PROGS) $(TESTS)
build-check-s: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -752,10 +903,10 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log};\
else \
@@ -764,7 +915,7 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
fi; \
echo "============================" >> $${log}; \
srcdir="$(srcdir)" \
$(TIME) $(RUNTESTS) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
$(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
&& touch $(@:.chkexe_=.chkexe) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
(cat $${log} && false) || exit 1; \
@@ -791,10 +942,10 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
else \
@@ -818,7 +969,7 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
fi
# Actual execution of check-p.
build-check-p: $(LIB) $(PROGS) $(TESTS)
build-check-p: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -835,7 +986,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
@for test in $(TEST_PROG_PARA) dummy; do \
if test $$test != dummy; then \
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
RUNTESTS="$(RUNPARALLEL)" || exit 1; \
RUNEXEC="$(RUNPARALLEL)" || exit 1; \
fi; \
done
@for test in $(TEST_SCRIPT_PARA) dummy; do \
@@ -848,7 +999,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
fi
# Run test with different Virtual File Driver
check-vfd: $(LIB) $(PROGS) $(TESTS)
check-vfd: $(LIB) $(PROGS) $(chk_TESTS)
@for vfd in $(VFD_LIST) dummy; do \
if test $$vfd != dummy; then \
echo "============================"; \
@@ -858,6 +1009,7 @@ check-vfd: $(LIB) $(PROGS) $(TESTS)
HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
fi; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -0,0 +1,54 @@
cmake_minimum_required (VERSION 2.8.6)
# --------------------------------------------------------------------
# Notes: When creating examples they should be prefixed
# with "cpp_ex_". This allows for easier filtering of the examples.
# --------------------------------------------------------------------
PROJECT (HDF5_CPP_EXAMPLES)
#-----------------------------------------------------------------------------
# Define examples
#-----------------------------------------------------------------------------
SET (examples
create
readdata
writedata
compound
extend_ds
chunks
h5group
)
FOREACH (example ${examples})
ADD_EXECUTABLE (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
TARGET_LINK_LIBRARIES (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
SET_TARGET_PROPERTIES (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
ENDFOREACH (example ${examples})
IF (BUILD_TESTING)
# Remove any output file left over from previous test run
ADD_TEST (
NAME cpp_ex-clear-objects
COMMAND ${CMAKE_COMMAND}
-E remove
Group.h5
SDS.h5
SDScompound.h5
SDSextendible.h5
Select.h5
)
IF (NOT "${last_test}" STREQUAL "")
SET_TESTS_PROPERTIES (cpp_ex-clear-objects PROPERTIES DEPENDS ${last_test})
ENDIF (NOT "${last_test}" STREQUAL "")
SET (last_test "cpp_ex-clear-objects")
FOREACH (example ${examples})
ADD_TEST (NAME cpp_ex_${example} COMMAND $<TARGET_FILE:cpp_ex_${example}>)
IF (NOT "${last_test}" STREQUAL "")
SET_TESTS_PROPERTIES (cpp_ex_${example} PROPERTIES DEPENDS ${last_test})
ENDIF (NOT "${last_test}" STREQUAL "")
SET (last_test "cpp_ex_${example}")
ENDFOREACH (example ${examples})
ENDIF (BUILD_TESTING)

View File

@@ -23,22 +23,24 @@ include $(top_srcdir)/config/commence.am
# These are the programs that 'make all' or 'make prog' will build and
# which 'make check' will run. List them in the order they should be run.
TEST_PROG=create readdata writedata compound extend_ds chunks h5group
EXAMPLE_PROG=create readdata writedata compound extend_ds chunks h5group
TEST_SCRIPT=testh5c++.sh
# These are the example files to be installed
INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \
INSTALL_FILES=create.cpp readdata.cpp writedata.cpp compound.cpp \
extend_ds.cpp chunks.cpp h5group.cpp
INSTALL_SCRIPT_FILES = run-c++-ex.sh
# Some of the examples depend on files created by running other examples
readdata.chkexe_: create.chkexe_
chunks.chkexe_: extend_ds.chkexe_
# Tell conclude.am that these are C++ tests.
HDF_CXX=yes
CXX_API=yes
# Where to install examples
EXAMPLEDIR=$(docdir)/hdf5/examples/c++
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/c++
# How to build programs using h5c++
$(EXTRA_PROG): $(H5CPP)

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.12.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -35,9 +35,27 @@
# built using h5cc (or h5fc, etc.) instead of the standard compilers.
# This creates some extra work for us.
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -53,90 +71,137 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/testh5c++.sh.in $(top_srcdir)/config/commence.am \
$(srcdir)/run-c++-ex.sh.in $(srcdir)/testh5c++.sh.in \
$(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am \
$(top_srcdir)/config/examples.am
TESTS =
TESTS = $(TEST_SCRIPT)
subdir = c++/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES = testh5c++.sh
CONFIG_CLEAN_FILES = run-c++-ex.sh testh5c++.sh
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
am__tty_colors = $(am__tty_colors_dummy)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = /home1/packages/automake/automake-1.9.6/bin/aclocal-1.9 -I /afs/ncsa/projects/hdf/packages/libtool_1.5.14/Linux_2.4/share/aclocal
ACLOCAL = @ACLOCAL@
ADD_PARALLEL_FILES = @ADD_PARALLEL_FILES@
AMTAR = @AMTAR@
# H5_CFLAGS holds flags that should be used when building hdf5,
# but which should not be exported to h5cc for building other programs.
# AM_CFLAGS is an automake construct which should be used by Makefiles
# instead of CFLAGS, as CFLAGS is reserved solely for the user to define.
# This applies to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS as well.
AM_CFLAGS = @AM_CFLAGS@ @H5_CFLAGS@
AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
# Set the paths for AFS installs of autotools for Linux machines
# Ideally, these tools should never be needed during the build.
AUTOCONF = /home1/packages/autoconf/autoconf-2.60/bin/autoconf
AUTOHEADER = /home1/packages/autoconf/autoconf-2.60/bin/autoheader
AUTOMAKE = /home1/packages/automake/automake-1.9.6/bin/automake-1.9
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BYTESEX = @BYTESEX@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CC_VERSION = @CC_VERSION@
# H5_CFLAGS holds flags that should be used as CFLAGS when building hdf5,
# but which shouldn't be exported to h5cc for building other programs.
CFLAGS = @CFLAGS@ @H5_CFLAGS@
CFLAGS = @CFLAGS@
CLEARFILEBUF = @CLEARFILEBUF@
CODESTACK = @CODESTACK@
CONFIG_DATE = @CONFIG_DATE@
CONFIG_MODE = @CONFIG_MODE@
CONFIG_USER = @CONFIG_USER@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ @H5_CPPFLAGS@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ @H5_CXXFLAGS@
CXXFLAGS = @CXXFLAGS@
CXX_VERSION = @CXX_VERSION@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFAULT_API_VERSION = @DEFAULT_API_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEPRECATED_SYMBOLS = @DEPRECATED_SYMBOLS@
DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
EXTERNAL_FILTERS = @EXTERNAL_FILTERS@
# Make sure that these variables are exported to the Makefiles
F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
FCFLAGS = @FCFLAGS@ @H5_FCFLAGS@
FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FFLAGS = @FFLAGS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
GPFS = @GPFS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
HSIZET = @HSIZET@
HSIZE_T = @HSIZE_T@
HSSIZE_T = @HSSIZE_T@
INSTALL = @INSTALL@
@@ -144,26 +209,38 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTRUMENT = @INSTRUMENT@
INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@
LARGEFILE = @LARGEFILE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LL_PATH = @LL_PATH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_STATIC_EXEC = @LT_STATIC_EXEC@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MPE = @MPE@
MPI_GET_SIZE = @MPI_GET_SIZE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJECT_NAMELEN_DEFAULT_F = @OBJECT_NAMELEN_DEFAULT_F@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
@@ -176,22 +253,21 @@ RUNSERIAL = @RUNSERIAL@
R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
SETX = @SETX@
SET_MAKE = @SET_MAKE@
# Hardcode SHELL to be /bin/sh. Most machines have this shell, and
# on at least one machine configure fails to detect its existence (janus).
# Also, when HDF5 is configured on one machine but run on another,
# configure's automatic SHELL detection may not work on the build machine.
SHELL = /bin/sh
SHELL = @SHELL@
SIZE_T = @SIZE_T@
STATIC_EXEC = @STATIC_EXEC@
STATIC_SHARED = @STATIC_SHARED@
STRICT_FORMAT_CHECKS = @STRICT_FORMAT_CHECKS@
STRIP = @STRIP@
TESTPARALLEL = @TESTPARALLEL@
THREADSAFE = @THREADSAFE@
TIME = @TIME@
TR = @TR@
TRACE_API = @TRACE_API@
UNAME_INFO = @UNAME_INFO@
USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@
USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@
USE_FILTER_NBIT = @USE_FILTER_NBIT@
@@ -200,13 +276,15 @@ USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@
USE_FILTER_SZIP = @USE_FILTER_SZIP@
USINGMEMCHECKER = @USINGMEMCHECKER@
VERSION = @VERSION@
WORDS_BIGENDIAN = @WORDS_BIGENDIAN@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_FC = @ac_ct_FC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -222,8 +300,12 @@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
# Install directories that automake doesn't know about
docdir = $(exec_prefix)/doc
dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
@@ -231,9 +313,7 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
# Install directories that automake doesn't know about
includedir = $(exec_prefix)/include
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
@@ -252,6 +332,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -261,12 +342,12 @@ CP = cp
# Some machines need a command to run executables; this is that command
# so that our tests will run.
# We use RUNTESTS instead of RUNSERIAL directly because it may be that
# We use RUNEXEC instead of RUNSERIAL directly because it may be that
# some tests need to be run with a different command. Older versions
# of the makefiles used the command
# $(LIBTOOL) --mode=execute
# in some directories, for instance.
RUNTESTS = $(RUNSERIAL)
RUNEXEC = $(RUNSERIAL)
# Libraries to link to while building
LIBHDF5 = $(top_builddir)/src/libhdf5.la
@@ -279,14 +360,25 @@ LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5CPP_HL = $(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
# Note that in svn revision 19400 the '/' after DESTDIR in H5* variables below
# has been removed. According to the official description of DESTDIR by Gnu at
# http://www.gnu.org/prep/standards/html_node/DESTDIR.html, DESTDIR is
# prepended to the normal and complete install path that it precedes for the
# purpose of installing in a temporary directory which is useful for building
# rpms and other packages. The '/' after ${DESTDIR} will be followed by another
# '/' at the beginning of the normal install path. When DESTDIR is empty the
# path then begins with '//', which is incorrect and causes problems at least for
# Cygwin.
# Scripts used to build examples
# If only shared libraries have been installed, have h5cc build examples with
# shared libraries instead of static libraries
H5CC = $(bindir)/h5cc
H5CC_PP = $(bindir)/h5pcc
H5FC = $(bindir)/h5fc
H5FC_PP = $(bindir)/h5pfc
H5CPP = $(bindir)/h5c++
H5CC = ${DESTDIR}$(bindir)/h5cc
H5CC_PP = ${DESTDIR}$(bindir)/h5pcc
H5FC = ${DESTDIR}$(bindir)/h5fc
H5FC_PP = ${DESTDIR}$(bindir)/h5pfc
H5CPP = ${DESTDIR}$(bindir)/h5c++
ACLOCAL_AMFLAGS = "-I m4"
# The trace script; this is used on source files from the C library to
# insert tracing macros.
@@ -299,28 +391,29 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.h5
# These are the programs that 'make all' or 'make prog' will build and
# which 'make check' will run. List them in the order they should be run.
TEST_PROG = create readdata writedata compound extend_ds chunks h5group
EXAMPLE_PROG = create readdata writedata compound extend_ds chunks h5group
TEST_SCRIPT = testh5c++.sh
# These are the example files to be installed
INSTALL_FILES = create.cpp readdata.cpp writedata.cpp compound.cpp \
INSTALL_FILES = create.cpp readdata.cpp writedata.cpp compound.cpp \
extend_ds.cpp chunks.cpp h5group.cpp
INSTALL_SCRIPT_FILES = run-c++-ex.sh
# Tell conclude.am that these are C++ tests.
HDF_CXX = yes
CXX_API = yes
# Where to install examples
EXAMPLEDIR = $(docdir)/hdf5/examples/c++
# Note: no '/' after DESTDIR. Explanation in commence.am
EXAMPLEDIR = ${DESTDIR}$(exec_prefix)/share/hdf5_examples/c++
# Assume that all tests in this directory are examples, and tell
# conclude.am when to build them.
EXAMPLE_PROG = $(TEST_PROG_PARA) $(TEST_PROG)
EXTRA_PROG = $(EXAMPLE_PROG)
EXTRA_PROG = $(EXAMPLE_PROG) $(EXAMPLE_PROG_PARA)
# We need to tell automake what to clean
MOSTLYCLEANFILES = *.raw *.meta *.o
CLEANFILES = $(TEST_PROG) $(TEST_PROG_PARA)
CLEANFILES = $(EXAMPLE_PROG) $(EXAMPLE_PROG_PARA)
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -333,6 +426,10 @@ LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES) \
PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
$(EXTRA_PROG)
chk_TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
TEST_EXTENSIONS = .sh
SH_LOG_COMPILER = $(SHELL)
AM_SH_LOG_FLAGS =
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chkexe_)
@@ -344,14 +441,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/examples/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/examples/Makefile
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/examples/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/examples/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -361,6 +458,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -369,6 +467,9 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
run-c++-ex.sh: $(top_builddir)/config.status $(srcdir)/run-c++-ex.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
testh5c++.sh: $(top_builddir)/config.status $(srcdir)/testh5c++.sh.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
@@ -383,6 +484,8 @@ TAGS:
ctags: CTAGS
CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -400,13 +503,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -425,10 +532,15 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
@@ -437,6 +549,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -455,6 +568,8 @@ dvi-am:
html: html-am
html-am:
info: info-am
info-am:
@@ -463,18 +578,28 @@ install-data-am: install-data-local
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am: installcheck-local
maintainer-clean: maintainer-clean-am
@@ -496,7 +621,7 @@ ps-am:
uninstall-am: uninstall-local
.MAKE: install-am install-strip
.MAKE: check-am install-am install-strip
.PHONY: all all-am all-local check check-TESTS check-am clean \
clean-generic clean-libtool distclean distclean-generic \
@@ -546,6 +671,8 @@ h5group: $(srcdir)/h5group.cpp
# How to create EXAMPLEDIR if it doesn't already exist
$(EXAMPLEDIR):
-$(top_srcdir)/bin/mkdirs $@
$(EXAMPLETOPDIR):
-$(top_srcdir)/bin/mkdirs $@
# Install and uninstall rules. We install the source files, not the
# example programs themselves.
@@ -554,16 +681,42 @@ install-data-local:
uninstall-local:
@$(MAKE) $(AM_MAKEFLAGS) uninstall-examples
install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
install-examples: $(EXAMPLEDIR) $(INSTALL_FILES)
@for f in X $(INSTALL_FILES); do \
if test $$f != X; then \
(set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1);\
(set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLEDIR)/. || exit 1); \
chmod a-x $(EXAMPLEDIR)/$$f; \
fi; \
done
@for f in X $(INSTALL_SCRIPT_FILES); do \
if test $$f != X; then \
(set -x; $(INSTALL) $$f $(EXAMPLEDIR)/. || exit 1);\
fi; \
done
@for f in X $(INSTALL_TOP_FILES); do \
if test $$f != X; then \
(set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \
chmod a-x $(EXAMPLETOPDIR)/$$f;\
fi; \
done
@for f in X $(INSTALL_TOP_SCRIPT_FILES); do \
if test $$f != X; then \
(set -x; $(INSTALL) $(srcdir)/$$f $(EXAMPLETOPDIR)/. || exit 1); \
fi; \
done
uninstall-examples:
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
@if test -n "$(INSTALL_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_FILES); \
fi
@if test -n "$(INSTALL_SCRIPT_FILES)" -a -d $(EXAMPLEDIR); then \
set -x; cd $(EXAMPLEDIR) && $(RM) $(INSTALL_SCRIPT_FILES); \
fi
@if test -n "$(INSTALL_TOP_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_FILES); \
fi
@if test -n "$(INSTALL_TOP_SCRIPT_FILES)" -a -d $(EXAMPLETOPDIR); then \
set -x; cd $(EXAMPLETOPDIR) && $(RM) $(INSTALL_TOP_SCRIPT_FILES); \
fi
installcheck-local:
@@ -581,7 +734,7 @@ installcheck-local:
# build files in this directory.
build-lib: $(LIB)
build-progs: $(LIB) $(PROGS)
build-tests: $(LIB) $(PROGS) $(TESTS)
build-tests: $(LIB) $(PROGS) $(chk_TESTS)
# General rule for recursive building targets.
# BUILT_SOURCES contain targets that need to be built before anything else
@@ -607,7 +760,7 @@ check-clean ::
# Tell Automake to build tests when the user types `make all' (this is
# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since
# Automake won't build them automatically, either.
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(chk_TESTS)
# make install-doc doesn't do anything outside of doc directory, but
# Makefiles should recognize it.
@@ -631,7 +784,7 @@ check-install: installcheck
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
# The timestamps give a rough idea how much time the tests use.
#
# Note that targets in TESTS (defined above) will be built when the user
# Note that targets in chk_TESTS (defined above) will be built when the user
# types 'make tests' or 'make check', but only programs in TEST_PROG,
# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed.
check-TESTS: test
@@ -641,7 +794,7 @@ test _test:
@$(MAKE) build-check-p
# Actual execution of check-s.
build-check-s: $(LIB) $(PROGS) $(TESTS)
build-check-s: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -665,10 +818,10 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log};\
else \
@@ -677,7 +830,7 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
fi; \
echo "============================" >> $${log}; \
srcdir="$(srcdir)" \
$(TIME) $(RUNTESTS) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
$(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
&& touch $(@:.chkexe_=.chkexe) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
(cat $${log} && false) || exit 1; \
@@ -704,10 +857,10 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
else \
@@ -731,7 +884,7 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
fi
# Actual execution of check-p.
build-check-p: $(LIB) $(PROGS) $(TESTS)
build-check-p: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -748,7 +901,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
@for test in $(TEST_PROG_PARA) dummy; do \
if test $$test != dummy; then \
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
RUNTESTS="$(RUNPARALLEL)" || exit 1; \
RUNEXEC="$(RUNPARALLEL)" || exit 1; \
fi; \
done
@for test in $(TEST_SCRIPT_PARA) dummy; do \
@@ -761,7 +914,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
fi
# Run test with different Virtual File Driver
check-vfd: $(LIB) $(PROGS) $(TESTS)
check-vfd: $(LIB) $(PROGS) $(chk_TESTS)
@for vfd in $(VFD_LIST) dummy; do \
if test $$vfd != dummy; then \
echo "============================"; \
@@ -771,6 +924,7 @@ check-vfd: $(LIB) $(PROGS) $(TESTS)
HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
fi; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -80,7 +80,7 @@ int main (void)
hsize_t dims[2]; // dataset dimensions
rank = filespace.getSimpleExtentDims( dims );
cout << "dataset rank = " << rank << ", dimensions "
<< (unsigned long)(dims[0]) << " x "
<< (unsigned long)(dims[0]) << " x "
<< (unsigned long)(dims[1]) << endl;
/*

View File

@@ -94,7 +94,7 @@ int main(void)
* Create the first dataset.
*/
DataSet* dataset = new DataSet(file->createDataSet(
"/Data/Compressed_Data", PredType::NATIVE_INT,
"/Data/Compressed_Data", PredType::NATIVE_INT,
*dataspace, ds_creatplist ));
/*
@@ -109,7 +109,7 @@ int main(void)
dims[0] = 500;
dims[1] = 20;
dataspace = new DataSpace(RANK, dims); // create second dspace
dataset = new DataSet(file->createDataSet("/Data/Float_Data",
dataset = new DataSet(file->createDataSet("/Data/Float_Data",
PredType::NATIVE_FLOAT, *dataspace));
delete dataset;

View File

@@ -0,0 +1,93 @@
#! /bin/sh
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
#
# This file: run-c++-ex.sh
# Written by: Larry Knox
# Date: May 11, 2010
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #
# This script will compile and run the c++ examples from source files #
# installed in .../share/hdf5_examples/c++ using h5c++. The #
# order for running programs with RunTest in the MAIN section below is taken #
# from the Makefile. The order is important since some of the test programs #
# use data files created by earlier test programs. Any future additions should #
# be placed accordingly. #
# #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Initializations
EXIT_SUCCESS=0
EXIT_FAILURE=1
# Where the tool is installed.
# default is relative path to installed location of the tools
prefix="${prefix:-../../../}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name
H5TOOL_BIN="${prefix}/bin/${H5TOOL}" # The path of the tool binary
#### Run test ####
RunTest()
{
TEST_EXEC=$1
Test=$1".cpp"
echo
echo "################# $1 #################"
${H5TOOL_BIN} -o $TEST_EXEC $Test
if [ $? -ne 0 ]
then
echo "messed up compiling $Test"
exit 1
fi
./$TEST_EXEC
}
################## MAIN ##################
# Run tests
if [ $? -eq 0 ]
then
if (RunTest create &&\
rm create &&\
RunTest readdata &&\
rm readdata &&\
RunTest writedata &&\
rm writedata &&\
RunTest compound &&\
rm compound &&\
RunTest extend_ds &&\
rm extend_ds &&\
RunTest chunks &&\
rm chunks &&\
RunTest h5group &&\
rm h5group); then
EXIT_VALUE=${EXIT_SUCCESS}
else
EXIT_VALUE=${EXIT_FAILURE}
fi
fi
# Cleanup
rm *.o
rm *.h5
echo
exit $EXIT_VALUE

View File

@@ -1,68 +0,0 @@
#!/bin/sh
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
CMP='cmp -s'
DIFF='diff -c'
nerrors=0
verbose=yes
# The build (current) directory might be different than the source directory.
if test -z "$srcdir"; then
srcdir=.
fi
actual=sample.out
expect=$srcdir/expected.out
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
TESTING()
{
SPACES=" "
echo "Testing $* $SPACES" |cut -c1-70 |tr -d '\012'
}
TESTING C++ Examples
(
./create
./readdata
./writedata
./compound
./extend_ds
./chunks
./h5group
) > $actual
if $CMP $expect $actual; then
echo " PASSED"
else
echo "*FAILED*"
echo " Expected result differs from actual result"
nerrors="`expr $nerrors + 1`"
test yes = "$verbose" && $DIFF $expect $actual | sed 's/^/ /'
fi
# Clean up output file
if test -z "$HDF5_NOCLEANUP"; then
rm -f $actual
fi
if test $nerrors -eq 0 ; then
echo "All tests passed."
fi
exit $nerrors

28
c++/examples/testh5c++.sh.in Executable file → Normal file
View File

@@ -19,29 +19,31 @@
# Modification:
#
srcdir=@srcdir@
# Initializations
TESTNAME=h5c++
EXIT_SUCCESS=0
EXIT_FAILURE=1
# Where the tool is installed.
prefix="${prefix:-@prefix@}"
AR=@AR@
RANLIB=@RANLIB@
# Note: no '/' after DESTDIR. Explanation in commence.am
prefix="${prefix:-${DESTDIR}@prefix@}"
AR="@AR@"
RANLIB="@RANLIB@"
H5TOOL="h5c++" # The tool name
H5TOOL_BIN="${prefix}/bin/${H5TOOL}" # The path of the tool binary
CMP='cmp -s'
DIFF='diff -c'
nerrors=0
nerrors=$EXIT_SUCCESS
verbose=yes
# setup my machine information.
myos=`uname -s`
myhostnama=`uname -n`
# The build (current) directory might be different than the source directory.
if test -z "$srcdir"; then
srcdir=.
fi
# Generate some source files and library for tests.
suffix=cpp # source file suffix
hdf5main=${H5TOOL}_hdf5main.$suffix
@@ -271,7 +273,9 @@ if test -z "$HDF5_NOCLEANUP"; then
fi
if test $nerrors -eq 0 ; then
echo "All $H5TOOL tests passed."
echo "All $TESTNAME tests passed."
exit $EXIT_SUCCESS
else
echo "$TESTNAME tests failed with $nerrors errors."
exit $EXIT_FAILURE
fi
exit $nerrors

118
c++/src/CMakeLists.txt Normal file
View File

@@ -0,0 +1,118 @@
cmake_minimum_required (VERSION 2.8.6)
PROJECT (HDF5_CPP_SRC)
#-----------------------------------------------------------------------------
# Shared/Static Libs
#-----------------------------------------------------------------------------
IF (BUILD_SHARED_LIBS)
SET (CPP_BUILT_AS_DYNAMIC_LIB 1)
ENDIF (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Generate configure file
#-----------------------------------------------------------------------------
CONFIGURE_FILE (${HDF5_RESOURCES_DIR}/H5cxx_config.h.in
${HDF5_BINARY_DIR}/H5cxx_pubconf.h
)
#-----------------------------------------------------------------------------
# Define cpp Library
#-----------------------------------------------------------------------------
SET (CPP_SRCS
${HDF5_CPP_SRC_SOURCE_DIR}/H5AbstractDs.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5ArrayType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5AtomType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5Attribute.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5CommonFG.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5CompType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5DataSet.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5DataSpace.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5DataType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5DcreatProp.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5DxferProp.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5EnumType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5Exception.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5FaccProp.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5FcreatProp.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5File.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5FloatType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5Group.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5IdComponent.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5IntType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5Library.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5Object.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5PredType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5PropList.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5StrType.cpp
${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.cpp
)
SET (CPP_HDRS
${HDF5_CPP_SRC_SOURCE_DIR}/H5AbstractDs.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Alltypes.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5ArrayType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5AtomType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Attribute.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Classes.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5CommonFG.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5CompType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Cpp.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5CppDoc.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5DataSet.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5DataSpace.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5DataType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5DcreatProp.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5DxferProp.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5EnumType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Exception.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5FaccProp.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5FcreatProp.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5File.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5FloatType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Group.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5IdComponent.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Include.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5IntType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Library.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5Object.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5PredType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5PropList.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5StrType.h
${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.h
)
ADD_LIBRARY (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} ${CPP_SRCS} ${CPP_HDRS})
TARGET_LINK_LIBRARIES (${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
SET_GLOBAL_VARIABLE (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} ${LIB_TYPE})
SET_TARGET_PROPERTIES (${HDF5_CPP_LIB_TARGET} PROPERTIES FOLDER libraries/cpp)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
INSTALL (
FILES
${CPP_HDRS}
DESTINATION
${HDF5_INSTALL_INCLUDE_DIR}/cpp
COMPONENT
cppheaders
)
#-----------------------------------------------------------------------------
# Add Target(s) to CMake Install for import into other projects
#-----------------------------------------------------------------------------
IF (HDF5_EXPORTED_TARGETS)
INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_LIB_DIR} cpplibraries)
INSTALL (
TARGETS
${HDF5_CPP_LIB_TARGET}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
ARCHIVE DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
RUNTIME DESTINATION ${HDF5_INSTALL_BIN_DIR} COMPONENT cpplibraries
)
ENDIF (HDF5_EXPORTED_TARGETS)

View File

@@ -25,6 +25,11 @@
#include "H5CommonFG.h"
#include "H5Alltypes.h"
#include <iostream> // remove when done
using std::cerr;
using std::endl;
#ifndef H5_NO_NAMESPACE
namespace H5 {
#endif
@@ -34,21 +39,21 @@ namespace H5 {
///\brief Default constructor
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
AbstractDs::AbstractDs() : H5Object() {}
AbstractDs::AbstractDs(){}
//--------------------------------------------------------------------------
// Function: AbstractDs default constructor
///\brief Creates an AbstractDs instance using an existing id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
AbstractDs::AbstractDs( const hid_t ds_id ) : H5Object( ds_id ) {}
AbstractDs::AbstractDs(const hid_t ds_id){}
//--------------------------------------------------------------------------
// Function: AbstractDs copy constructor
///\brief Copy constructor: makes a copy of the original AbstractDs object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
AbstractDs::AbstractDs( const AbstractDs& original ) : H5Object( original ) {}
AbstractDs::AbstractDs(const AbstractDs& original){}
//--------------------------------------------------------------------------
// Function: AbstractDs::getTypeClass
@@ -76,13 +81,26 @@ H5T_class_t AbstractDs::getTypeClass() const
// Gets the class of the datatype and validate it before returning
H5T_class_t type_class = H5Tget_class(datatype_id);
if( type_class != H5T_NO_CLASS )
return( type_class );
else
// Close temporary datatype_id
herr_t ret_value = H5Tclose(datatype_id);
if (ret_value < 0)
{
throw DataTypeIException(inMemFunc("getTypeClass"),
"H5Tget_class returns H5T_NO_CLASS");
if (fromClass() == "DataSet")
throw DataTypeIException("DataSet::getTypeClass", "H5Tclose failed");
else if (fromClass() == "Attribute")
throw DataTypeIException("Attribute::getTypeClass", "H5Tclose failed");
}
// Check on the returned type_class
if (type_class == H5T_NO_CLASS)
{
if (fromClass() == "DataSet")
throw DataTypeIException("DataSet::getTypeClass", "H5Tget_class returns H5T_NO_CLASS");
else if (fromClass() == "Attribute")
throw DataTypeIException("Attribute::getTypeClass", "H5Tget_class returns H5T_NO_CLASS");
}
return(type_class);
}
//--------------------------------------------------------------------------

View File

@@ -33,7 +33,7 @@ class FloatType;
class IntType;
class StrType;
class VarLenType;
class H5_DLLCPP AbstractDs : public H5Object {
class H5_DLLCPP AbstractDs {
public:
// Gets a copy the datatype of that this abstract dataset uses.
// Note that this datatype is a generic one and can only be accessed
@@ -51,6 +51,9 @@ class H5_DLLCPP AbstractDs : public H5Object {
StrType getStrType() const;
VarLenType getVarLenType() const;
// Gets the size in memory of this abstract dataset.
virtual size_t getInMemDataSize() const = 0;
// Gets the dataspace of this abstract dataset - pure virtual.
virtual DataSpace getSpace() const = 0;
@@ -62,6 +65,9 @@ class H5_DLLCPP AbstractDs : public H5Object {
// dataset - pure virtual.
virtual hsize_t getStorageSize() const = 0;
// Returns this class name
virtual H5std_string fromClass() const = 0;
// Copy constructor
AbstractDs( const AbstractDs& original );

View File

@@ -36,7 +36,7 @@ class H5_DLLCPP ArrayType : public DataType {
// Returns the sizes of dimensions of this array datatype.
int getArrayDims(hsize_t* dims);
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("ArrayType"); }
// Copy constructor: makes copy of the original object.

View File

@@ -98,7 +98,7 @@ H5T_order_t AtomType::getOrder() const
//--------------------------------------------------------------------------
// Function: AtomType::getOrder
///\brief This is an overloaded member function, provided for convenience.
/// It takes a reference to a \c std::string for the buffer that
/// It takes a reference to a \c H5std_string for the buffer that
/// provide the text description of the returned byte order.
/// The text description can be either of the following:
/// "Little endian byte ordering (0)";
@@ -178,7 +178,7 @@ size_t AtomType::getPrecision() const
///\exception H5::DataTypeIException
///\par Description
/// For information, please see C layer Reference Manuat at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetPrecision
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5T.html#Datatype-SetPrecision
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void AtomType::setPrecision( size_t precision ) const
@@ -198,7 +198,7 @@ void AtomType::setPrecision( size_t precision ) const
///\exception H5::DataTypeIException
///\par Description
/// For information, please see C layer Reference Manuat at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-GetOffset
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5T.html#Datatype-GetOffset
// Programmer Binh-Minh Ribler - 2000
// Modification
// 12/05/00: due to C API change
@@ -225,7 +225,7 @@ int AtomType::getOffset() const
///\exception H5::DataTypeIException
///\par Description
/// For information, please see C layer Reference Manuat at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetOffset
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5T.html#Datatype-SetOffset
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void AtomType::setOffset( size_t offset ) const

View File

@@ -57,7 +57,7 @@ class H5_DLLCPP AtomType : public DataType {
// Sets the total size for an atomic datatype.
void setSize( size_t size ) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("AtomType"); }
// Copy constructor - makes copy of the original object

View File

@@ -26,12 +26,15 @@
#include "H5PropList.h"
#include "H5Object.h"
#include "H5AbstractDs.h"
#include "H5Attribute.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5DcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"
#include "H5DataSpace.h"
#include "H5private.h"
#include "H5File.h"
#include "H5Attribute.h"
#include "H5private.h" // for HDfree
#ifndef H5_NO_NAMESPACE
namespace H5 {
@@ -46,7 +49,7 @@ namespace H5 {
///\brief Default constructor: Creates a stub attribute
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
Attribute::Attribute() : AbstractDs() {}
Attribute::Attribute() : AbstractDs(), IdComponent(), id(0) {}
//--------------------------------------------------------------------------
// Function: Attribute copy constructor
@@ -54,7 +57,11 @@ Attribute::Attribute() : AbstractDs() {}
///\param original - IN: Original Attribute object to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Attribute::Attribute( const Attribute& original ) : AbstractDs( original ) {}
Attribute::Attribute(const Attribute& original) : AbstractDs(), IdComponent()
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: Attribute overloaded constructor
@@ -64,7 +71,10 @@ Attribute::Attribute( const Attribute& original ) : AbstractDs( original ) {}
///\exception H5::AttributeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Attribute::Attribute(const hid_t existing_id) : AbstractDs(existing_id) {}
Attribute::Attribute(const hid_t existing_id) : AbstractDs(), IdComponent()
{
id = existing_id;
}
//--------------------------------------------------------------------------
// Function: Attribute::write
@@ -86,23 +96,40 @@ void Attribute::write( const DataType& mem_type, const void *buf ) const
//--------------------------------------------------------------------------
// Function: Attribute::write
///\brief This is an overloaded member function, provided for convenience.
/// It writes a \a std::string to this attribute.
/// It writes a \a H5std_string to this attribute.
///\param mem_type - IN: Attribute datatype (in memory)
///\param strg - IN: Data to be written
///\exception H5::AttributeIException
// Programmer Binh-Minh Ribler - Apr, 2003
//--------------------------------------------------------------------------
void Attribute::write( const DataType& mem_type, const H5std_string& strg ) const
void Attribute::write(const DataType& mem_type, const H5std_string& strg) const
{
// Convert string to C-string
const char* strg_C;
strg_C = strg.c_str(); // strg_C refers to the contents of strg as a C-str
// Check if this attribute has variable-len string or fixed-len string and
// proceed appropriately.
htri_t is_variable_len = H5Tis_variable_str(mem_type.getId());
if (is_variable_len < 0)
{
throw AttributeIException("Attribute::write", "H5Tis_variable_str failed");
}
// Convert string to C-string
const char* strg_C;
strg_C = strg.c_str(); // strg_C refers to the contents of strg as a C-str
herr_t ret_value = 0;
herr_t ret_value = H5Awrite( id, mem_type.getId(), &strg_C );
if( ret_value < 0 )
{
throw AttributeIException("Attribute::write", "H5Awrite failed");
}
// Pass string in differently depends on variable or fixed length
if (!is_variable_len)
{
ret_value = H5Awrite(id, mem_type.getId(), strg_C);
}
else
{
// passing third argument by address
ret_value = H5Awrite(id, mem_type.getId(), &strg_C);
}
if (ret_value < 0)
{
throw AttributeIException("Attribute::write", "H5Awrite failed");
}
}
//--------------------------------------------------------------------------
@@ -118,35 +145,113 @@ void Attribute::read( const DataType& mem_type, void *buf ) const
herr_t ret_value = H5Aread( id, mem_type.getId(), buf );
if( ret_value < 0 )
{
throw AttributeIException("Attribute::read", "H5Aread failed");
throw AttributeIException("Attribute::read", "H5Aread failed");
}
}
//--------------------------------------------------------------------------
// Function: Attribute::read
///\brief This is an overloaded member function, provided for convenience.
/// It reads a \a std::string from this attribute.
/// It reads a \a H5std_string from this attribute.
///\param mem_type - IN: Attribute datatype (in memory)
///\param strg - IN: Buffer for read string
///\exception H5::AttributeIException
// Programmer Binh-Minh Ribler - Apr, 2003
// Modification
// 2006/12/9 - H5Aread allocates memory for character string
// buffer with malloc, therefore, no allocation here,
// but HDfree is needed. - BMR
// Mar 2008
// Corrected a misunderstanding that H5Aread would allocate
// space for the buffer. Obtained the attribute size and
// allocated memory properly. - BMR
// Apr 2009
// Used getInMemDataSize to get attribute data size. - BMR
// Jul 2009
// Divided into specific private functions for fixed- and
// variable-len string data: p_read_fixed_len and
// p_read_variable_len. This should improve readability.
//--------------------------------------------------------------------------
void Attribute::read( const DataType& mem_type, H5std_string& strg ) const
void Attribute::read(const DataType& mem_type, H5std_string& strg) const
{
char* strg_C; // temporary C-string for C API
// Check if this attribute has variable-len string or fixed-len string and
// proceed appropriately.
htri_t is_variable_len = H5Tis_variable_str(mem_type.getId());
if (is_variable_len < 0)
{
throw AttributeIException("Attribute::read", "H5Tis_variable_str failed");
}
// call C API to get the attribute string of chars
herr_t ret_value = H5Aread( id, mem_type.getId(), &strg_C);
if( ret_value < 0 )
{
throw AttributeIException("Attribute::read", "H5Aread failed");
}
strg = strg_C; // get 'string' from the C char*
HDfree(strg_C);
if (!is_variable_len) // only allocate for fixed-len string
{
p_read_fixed_len(mem_type, strg);
}
else
{
p_read_variable_len(mem_type, strg);
}
}
//--------------------------------------------------------------------------
// Function: Attribute::getInMemDataSize
///\brief Gets the size in memory of the attribute's data.
///\return Size of data (in memory)
///\exception H5::AttributeIException
// Programmer Binh-Minh Ribler - Apr 2009
//--------------------------------------------------------------------------
size_t Attribute::getInMemDataSize() const
{
const char *func = "Attribute::getInMemDataSize";
// Get the data type of this attribute
hid_t mem_type_id = H5Aget_type(id);
if( mem_type_id < 0 )
{
throw AttributeIException(func, "H5Aget_type failed");
}
// Get the data type's size by first getting its native type then getting
// the native type's size.
hid_t native_type = H5Tget_native_type(mem_type_id, H5T_DIR_DEFAULT);
if (native_type < 0)
{
throw AttributeIException(func, "H5Tget_native_type failed");
}
size_t type_size = H5Tget_size(native_type);
if (type_size == 0)
{
throw AttributeIException(func, "H5Tget_size failed");
}
// Close the native type and the datatype of this attribute.
if (H5Tclose(native_type) < 0)
{
throw DataSetIException(func, "H5Tclose(native_type) failed");
}
if (H5Tclose(mem_type_id) < 0)
{
throw DataSetIException(func, "H5Tclose(mem_type_id) failed");
}
// Get number of elements of the attribute by first getting its dataspace
// then getting the number of elements in the dataspace
hid_t space_id = H5Aget_space(id);
if (space_id < 0)
{
throw AttributeIException(func, "H5Aget_space failed");
}
hssize_t num_elements = H5Sget_simple_extent_npoints(space_id);
if (num_elements < 0)
{
throw AttributeIException(func, "H5Sget_simple_extent_npoints failed");
}
// Close the dataspace
if (H5Sclose(space_id) < 0)
{
throw DataSetIException(func, "H5Sclose failed");
}
// Calculate and return the size of the data
size_t data_size = type_size * num_elements;
return(data_size);
}
//--------------------------------------------------------------------------
@@ -174,22 +279,19 @@ DataSpace Attribute::getSpace() const
}
//--------------------------------------------------------------------------
// Function: Attribute::p_get_type (private)
// Purpose Gets the datatype of this attribute.
// Return Id of the datatype
// Exception H5::AttributeIException
// Description
// This private function is used in AbstractDs.
// Programmer Binh-Minh Ribler - 2000
// Function: Attribute::getFileName
///\brief Gets the name of the file, in which this attribute belongs.
///\return File name
///\exception H5::IdComponentException
// Programmer Binh-Minh Ribler - Jul, 2004
//--------------------------------------------------------------------------
hid_t Attribute::p_get_type() const
H5std_string Attribute::getFileName() const
{
hid_t type_id = H5Aget_type( id );
if( type_id > 0 )
return( type_id );
else
{
throw AttributeIException("", "H5Aget_type failed");
try {
return(p_get_file_name());
}
catch (IdComponentException E) {
throw FileIException("Attribute::getFileName", E.getDetailMsg());
}
}
@@ -282,6 +384,132 @@ hsize_t Attribute::getStorageSize() const
return (storage_size);
}
//--------------------------------------------------------------------------
// Function: Attribute::getId
// Purpose: Get the id of this attribute
// Description:
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t Attribute::getId() const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: Attribute::p_get_type (private)
// Purpose Gets the datatype of this attribute.
// Return Id of the datatype
// Exception H5::AttributeIException
// Description
// This private function is used in AbstractDs.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
hid_t Attribute::p_get_type() const
{
hid_t type_id = H5Aget_type( id );
if( type_id > 0 )
return( type_id );
else
{
throw AttributeIException("", "H5Aget_type failed");
}
}
//--------------------------------------------------------------------------
// Function: Attribute::p_read_fixed_len (private)
// brief Reads a fixed length \a H5std_string from an attribute.
// param mem_type - IN: Attribute datatype (in memory)
// param strg - IN: Buffer for read string
// exception H5::AttributeIException
// Programmer Binh-Minh Ribler - Jul, 2009
// Modification
// Jul 2009
// Separated the fixed length case from the original
// Attribute::read
//--------------------------------------------------------------------------
void Attribute::p_read_fixed_len(const DataType& mem_type, H5std_string& strg) const
{
// Only allocate for fixed-len string.
// Get the size of the attribute's data
size_t attr_size = getInMemDataSize();
// If there is data, allocate buffer and read it.
if (attr_size > 0)
{
char *strg_C = new char[(size_t)attr_size+1];
herr_t ret_value = H5Aread(id, mem_type.getId(), strg_C);
if( ret_value < 0 )
{
delete []strg_C; // de-allocate for fixed-len string
throw AttributeIException("Attribute::read", "H5Aread failed");
}
// Get string from the C char* and release resource allocated locally
strg_C[attr_size] = '\0';
strg = strg_C;
delete []strg_C;
}
}
//--------------------------------------------------------------------------
// Function: Attribute::p_read_variable_len (private)
// brief Reads a variable length \a H5std_string from an attribute.
// param mem_type - IN: Attribute datatype (in memory)
// param strg - IN: Buffer for read string
// exception H5::AttributeIException
// Programmer Binh-Minh Ribler - Jul, 2009
// Modification
// Jul 2009
// Separated the variable length case from the original
// Attribute::read
//--------------------------------------------------------------------------
void Attribute::p_read_variable_len(const DataType& mem_type, H5std_string& strg) const
{
// Prepare and call C API to read attribute.
char *strg_C;
// Read attribute, no allocation for variable-len string; C library will
herr_t ret_value = H5Aread(id, mem_type.getId(), &strg_C);
if( ret_value < 0 )
{
throw AttributeIException("Attribute::read", "H5Aread failed");
}
// Get string from the C char* and release resource allocated by C API
strg = strg_C;
HDfree(strg_C);
}
//--------------------------------------------------------------------------
// Function: Attribute::p_setId
///\brief Sets the identifier of this object to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void Attribute::p_setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception close_error) {
throw AttributeIException("Attribute::p_setId", close_error.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
}
//--------------------------------------------------------------------------
// Function: Attribute::close
///\brief Closes this attribute.
@@ -298,7 +526,7 @@ void Attribute::close()
{
throw AttributeIException("Attribute::close", "H5Aclose failed");
}
// reset the id because the attribute that it represents is now closed
// reset the id
id = 0;
}
}

View File

@@ -21,11 +21,14 @@
namespace H5 {
#endif
class H5_DLLCPP Attribute : public AbstractDs {
class H5_DLLCPP Attribute : public AbstractDs, public IdComponent {
public:
// Closes this attribute.
virtual void close();
// Gets the name of the file, in which this attribute belongs.
H5std_string getFileName() const;
// Gets the name of this attribute.
ssize_t getName( size_t buf_size, H5std_string& attr_name ) const;
H5std_string getName( size_t buf_size ) const; // returns name, not its length
@@ -35,7 +38,10 @@ class H5_DLLCPP Attribute : public AbstractDs {
virtual DataSpace getSpace() const;
// Returns the amount of storage size required for this attribute.
hsize_t getStorageSize() const;
virtual hsize_t getStorageSize() const;
// Returns the in memory size of this attribute's data.
virtual size_t getInMemDataSize() const;
// Reads data from this attribute.
void read( const DataType& mem_type, void *buf ) const;
@@ -45,11 +51,11 @@ class H5_DLLCPP Attribute : public AbstractDs {
void write(const DataType& mem_type, const void *buf ) const;
void write(const DataType& mem_type, const H5std_string& strg ) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("Attribute"); }
// Creates a copy of an existing attribute using the attribute id
Attribute( const hid_t attr_id );
// Creates a copy of an existing attribute using the attribute id
Attribute( const hid_t attr_id );
// Copy constructor: makes a copy of an existing Attribute object.
Attribute( const Attribute& original );
@@ -57,16 +63,29 @@ class H5_DLLCPP Attribute : public AbstractDs {
// Default constructor
Attribute();
// Gets the attribute id.
virtual hid_t getId() const;
// Destructor: properly terminates access to this attribute.
virtual ~Attribute();
protected:
// Sets the attribute id.
virtual void p_setId(const hid_t new_id);
private:
hid_t id; // HDF5 attribute id
// This function contains the common code that is used by
// getTypeClass and various API functions getXxxType
// defined in AbstractDs for generic datatype and specific
// sub-types
virtual hid_t p_get_type() const;
// Reads variable or fixed len strings from this attribute.
void p_read_variable_len(const DataType& mem_type, H5std_string& strg) const;
void p_read_fixed_len(const DataType& mem_type, H5std_string& strg) const;
// do not inherit H5Object::iterateAttrs
int iterateAttrs() { return 0; }

View File

@@ -21,7 +21,6 @@
namespace H5 {
#endif
class Exception;
class ReferenceCounter;
class IdComponent;
class H5Object;
class PropList;

View File

@@ -31,6 +31,7 @@
#include "H5DataSet.h"
#include "H5File.h"
#include "H5Alltypes.h"
#include "H5private.h" // for HDstrcpy
// There are a few comments that are common to most of the functions
// defined in this file so they are listed here.
@@ -67,25 +68,29 @@ namespace H5 {
//--------------------------------------------------------------------------
Group CommonFG::createGroup( const char* name, size_t size_hint ) const
{
// Create group creation property list for size_hint
hid_t gcpl_id = H5Pcreate(H5P_GROUP_CREATE);
// If the creation of the property list failed, throw an exception
if( gcpl_id < 0 )
throwException("createGroup", "H5Pcreate failed");
// Group creation property list for size_hint
hid_t gcpl_id = 0;
// Set the local heap size hint
if( H5Pset_local_heap_size_hint(gcpl_id, size_hint) < 0) {
H5Pclose(gcpl_id);
throwException("createGroup", "H5Pset_local_heap_size failed");
}
if(!(size_hint == (size_t)-1 || size_hint == 0)) {
// If the creation of the property list failed, throw an exception
if((gcpl_id = H5Pcreate(H5P_GROUP_CREATE)) < 0)
throwException("createGroup", "H5Pcreate failed");
if( H5Pset_local_heap_size_hint(gcpl_id, size_hint) < 0) {
H5Pclose(gcpl_id);
throwException("createGroup", "H5Pset_local_heap_size failed");
}
}
// Call C routine H5Gcreate2 to create the named group, giving the
// location id which can be a file id or a group id
hid_t group_id = H5Gcreate2( getLocId(), name, H5P_DEFAULT, gcpl_id, H5P_DEFAULT );
// Close the group creation property list
H5Pclose(gcpl_id);
// Close the group creation property list, if necessary
if(gcpl_id > 0)
H5Pclose(gcpl_id);
// If the creation of the group failed, throw an exception
if( group_id < 0 )
@@ -100,7 +105,7 @@ Group CommonFG::createGroup( const char* name, size_t size_hint ) const
// Function: CommonFG::createGroup
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group CommonFG::createGroup( const H5std_string& name, size_t size_hint ) const
@@ -138,7 +143,7 @@ Group CommonFG::openGroup( const char* name ) const
// Function: CommonFG::openGroup
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group CommonFG::openGroup( const H5std_string& name ) const
@@ -182,7 +187,7 @@ DataSet CommonFG::createDataSet( const char* name, const DataType& data_type, co
// Function: CommonFG::createDataSet
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet CommonFG::createDataSet( const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const DSetCreatPropList& create_plist ) const
@@ -217,7 +222,7 @@ DataSet CommonFG::openDataSet( const char* name ) const
// Function: CommonFG::openDataSet
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet CommonFG::openDataSet( const H5std_string& name ) const
@@ -239,11 +244,17 @@ DataSet CommonFG::openDataSet( const H5std_string& name ) const
///\par Description
/// Note that both names are interpreted relative to the
/// specified location.
/// For information on creating hard link and soft link, please
/// refer to the C layer Reference Manual at:
/// http://hdfgroup.org/HDF5/doc/RM/RM_H5L.html#Link-CreateHard and
/// http://hdfgroup.org/HDF5/doc/RM/RM_H5L.html#Link-CreateSoft
// Programmer Binh-Minh Ribler - 2000
// Modification
// 2007: QAK modified to use H5L APIs - BMR
//--------------------------------------------------------------------------
void CommonFG::link( H5L_type_t link_type, const char* curr_name, const char* new_name ) const
{
herr_t ret_value;
herr_t ret_value = -1;
switch(link_type) {
case H5L_TYPE_HARD:
@@ -259,8 +270,7 @@ void CommonFG::link( H5L_type_t link_type, const char* curr_name, const char* ne
break;
} /* end switch */
if( ret_value < 0 )
{
if( ret_value < 0 ) {
throwException("link", "creating link failed");
}
}
@@ -269,7 +279,7 @@ void CommonFG::link( H5L_type_t link_type, const char* curr_name, const char* ne
// Function: CommonFG::link
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a curr_name and \a new_name.
/// \c H5std_string for \a curr_name and \a new_name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::link( H5L_type_t link_type, const H5std_string& curr_name, const H5std_string& new_name ) const
@@ -283,6 +293,8 @@ void CommonFG::link( H5L_type_t link_type, const H5std_string& curr_name, const
///\param name - IN: Name of the object to be removed
///\exception H5::FileIException or H5::GroupIException
// Programmer Binh-Minh Ribler - 2000
// Modification
// 2007: QAK modified to use H5L APIs - BMR
//--------------------------------------------------------------------------
void CommonFG::unlink( const char* name ) const
{
@@ -297,7 +309,7 @@ void CommonFG::unlink( const char* name ) const
// Function: CommonFG::unlink
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::unlink( const H5std_string& name ) const
@@ -314,9 +326,11 @@ void CommonFG::unlink( const H5std_string& name ) const
///\note
/// Exercise care in moving groups as it is possible to render
/// data in a file inaccessible with Group::move. Please refer
/// to the Group Interface in the HDF5 User's Guide at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/Groups.html
/// to the Group Interface in the HDF5 User's Guide for details at:
/// http://www.hdfgroup.org/HDF5/doc/UG/UG_frame09Groups.html
// Programmer Binh-Minh Ribler - 2000
// Modification
// 2007: QAK modified to use H5L APIs - BMR
//--------------------------------------------------------------------------
void CommonFG::move( const char* src, const char* dst ) const
{
@@ -331,7 +345,7 @@ void CommonFG::move( const char* src, const char* dst ) const
// Function: CommonFG::move
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a src and \a dst.
/// \c H5std_string for \a src and \a dst.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::move( const H5std_string& src, const H5std_string& dst ) const
@@ -350,7 +364,7 @@ void CommonFG::move( const H5std_string& src, const H5std_string& dst ) const
///\par Description
/// For more information, please refer to the C layer Reference
/// Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5G.html#Group-GetObjinfo
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5G.html#Group-GetObjinfo
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::getObjinfo( const char* name, hbool_t follow_link, H5G_stat_t& statbuf ) const
@@ -366,7 +380,7 @@ void CommonFG::getObjinfo( const char* name, hbool_t follow_link, H5G_stat_t& st
// Function: CommonFG::getObjinfo
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::getObjinfo( const H5std_string& name, hbool_t follow_link, H5G_stat_t& statbuf ) const
@@ -380,6 +394,7 @@ void CommonFG::getObjinfo( const H5std_string& name, hbool_t follow_link, H5G_st
/// It differs from the above functions in that it doesn't have
/// the paramemter \a follow_link.
// Programmer Binh-Minh Ribler - Nov, 2005
// Note: need to modify to use H5Oget_info and H5Lget_info - BMR
//--------------------------------------------------------------------------
void CommonFG::getObjinfo( const char* name, H5G_stat_t& statbuf ) const
{
@@ -394,7 +409,7 @@ void CommonFG::getObjinfo( const char* name, H5G_stat_t& statbuf ) const
// Function: CommonFG::getObjinfo
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - Nov, 2005
//--------------------------------------------------------------------------
void CommonFG::getObjinfo( const H5std_string& name, H5G_stat_t& statbuf ) const
@@ -414,23 +429,44 @@ void CommonFG::getObjinfo( const H5std_string& name, H5G_stat_t& statbuf ) const
//--------------------------------------------------------------------------
H5std_string CommonFG::getLinkval( const char* name, size_t size ) const
{
char* value_C = new char[size+1]; // temporary C-string for C API
H5L_info_t linkinfo;
char *value_C; // value in C string
size_t val_size = size;
H5std_string value = "";
herr_t ret_value;
herr_t ret_value = H5Lget_val( getLocId(), name, value_C, size, H5P_DEFAULT );
if( ret_value < 0 )
{
throwException("getLinkval", "H5Lget_val failed");
}
H5std_string value = H5std_string( value_C );
delete []value_C;
return( value );
// if user doesn't provide buffer size, determine it
if (size == 0)
{
ret_value = H5Lget_info(getLocId(), name, &linkinfo, H5P_DEFAULT);
if( ret_value < 0 )
{
throwException("getLinkval", "H5Lget_info to find buffer size failed");
}
val_size = linkinfo.u.val_size;
}
// if link has value, retrieve the value, otherwise, return null string
if (val_size > 0)
{
value_C = new char[val_size+1]; // temporary C-string for C API
ret_value = H5Lget_val(getLocId(), name, value_C, val_size, H5P_DEFAULT);
if( ret_value < 0 )
{
throwException("getLinkval", "H5Lget_val failed");
}
value = H5std_string(value_C);
delete []value_C;
}
return(value);
}
//--------------------------------------------------------------------------
// Function: CommonFG::getLinkval
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5std_string CommonFG::getLinkval( const H5std_string& name, size_t size ) const
@@ -452,6 +488,11 @@ H5std_string CommonFG::getLinkval( const H5std_string& name, size_t size ) const
/// object header, e.g., data sets, groups, named data types,
/// and data spaces, but not symbolic links.
// Programmer Binh-Minh Ribler - 2000
// Modification
// 2007: QAK modified to use H5O APIs; however the first parameter is
// no longer just file or group, this function should be moved
// to another class to accommodate attribute, dataset, and named
// datatype. - BMR
//--------------------------------------------------------------------------
void CommonFG::setComment( const char* name, const char* comment ) const
{
@@ -466,7 +507,7 @@ void CommonFG::setComment( const char* name, const char* comment ) const
// Function: CommonFG::setComment
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name and \a comment.
/// \c H5std_string for \a name and \a comment.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::setComment( const H5std_string& name, const H5std_string& comment ) const
@@ -480,6 +521,10 @@ void CommonFG::setComment( const H5std_string& name, const H5std_string& comment
///\param name - IN: Name of the object
///\exception H5::FileIException or H5::GroupIException
// Programmer Binh-Minh Ribler - May 2005
// 2007: QAK modified to use H5O APIs; however the first parameter is
// no longer just file or group, this function should be moved
// to another class to accommodate attribute, dataset, and named
// datatype. - BMR
//--------------------------------------------------------------------------
void CommonFG::removeComment(const char* name) const
{
@@ -494,7 +539,7 @@ void CommonFG::removeComment(const char* name) const
// Function: CommonFG::removeComment
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - May 2005
//--------------------------------------------------------------------------
void CommonFG::removeComment(const H5std_string& name) const
@@ -504,29 +549,40 @@ void CommonFG::removeComment(const H5std_string& name) const
//--------------------------------------------------------------------------
// Function: CommonFG::getComment
///\brief Retrieves comment for the specified object.
///\brief Retrieves comment for the specified object and its comment's
/// length.
///\param name - IN: Name of the object
///\param bufsize - IN: Length of the comment to retrieve
///\return Comment string
///\exception H5::FileIException or H5::GroupIException
// Programmer Binh-Minh Ribler - May 2005
// Programmer Binh-Minh Ribler - 2000
// 2007: QAK modified to use H5O APIs; however the first parameter is
// no longer just file or group, this function should be moved
// to another class to accommodate attribute, dataset, and named
// datatype. - BMR
//--------------------------------------------------------------------------
H5std_string CommonFG::getComment (const H5std_string& name) const
H5std_string CommonFG::getComment( const char* name, size_t bufsize ) const
{
size_t bufsize = 256; // anticipating the comment's length
// bufsize is default to 256
// temporary variable
hid_t loc_id = getLocId(); // temporary variable
// temporary C-string for the object's comment
char* comment_C = new char[bufsize+1];
herr_t ret_value = H5Oget_comment_by_name(loc_id, name.c_str(), comment_C, bufsize, H5P_DEFAULT);
// temporary C-string for the object's comment; bufsize already including
// null character
char* comment_C = new char[bufsize];
ssize_t ret_value = H5Oget_comment_by_name(loc_id, name, comment_C, bufsize, H5P_DEFAULT);
// if the actual length of the comment is longer than the anticipated
// value, then call H5Oget_comment_by_name again with the correct value
if (ret_value > bufsize)
// if the actual length of the comment is longer than bufsize and bufsize
// was the default value, i.e., not given by the user, then call
// H5Oget_comment_by_name again with the correct value.
// If the call to H5Oget_comment_by_name returned an error, skip this block
// and throw an exception below.
if (ret_value >= 0 && (size_t)ret_value > bufsize && bufsize == 256)
{
bufsize = ret_value;
size_t new_size = ret_value;
delete []comment_C;
comment_C = new char[bufsize+1];
ret_value = H5Oget_comment_by_name(loc_id, name.c_str(), comment_C, bufsize, H5P_DEFAULT);
comment_C = new char[new_size]; // new_size including null terminator
ret_value = H5Oget_comment_by_name(loc_id, name, comment_C, new_size, H5P_DEFAULT);
}
// if H5Oget_comment_by_name returns SUCCEED, return the string comment,
@@ -540,38 +596,11 @@ H5std_string CommonFG::getComment (const H5std_string& name) const
return (comment);
}
//--------------------------------------------------------------------------
// Function: CommonFG::getComment
///\brief Retrieves comment for the specified object and its comment's
/// length.
///\param name - IN: Name of the object
///\param bufsize - IN: Length of the comment to retrieve
///\return Comment string
///\exception H5::FileIException or H5::GroupIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5std_string CommonFG::getComment( const char* name, size_t bufsize ) const
{
// temporary C-string for the object's comment
char* comment_C = new char[bufsize+1];
herr_t ret_value = H5Oget_comment_by_name( getLocId(), name, comment_C, bufsize, H5P_DEFAULT );
// if H5Oget_comment_by_name returns SUCCEED, return the string comment
if( ret_value < 0 )
{
throwException("getComment", "H5Oget_comment_by_name failed");
}
H5std_string comment = H5std_string(comment_C);
delete []comment_C;
return( comment );
}
//--------------------------------------------------------------------------
// Function: CommonFG::getComment
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5std_string CommonFG::getComment( const H5std_string& name, size_t bufsize ) const
@@ -608,7 +637,7 @@ void CommonFG::mount( const char* name, H5File& child, PropList& plist ) const
// Function: CommonFG::mount
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::mount( const H5std_string& name, H5File& child, PropList& plist ) const
@@ -639,7 +668,7 @@ void CommonFG::unmount( const char* name ) const
// Function: CommonFG::unmount
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::unmount( const H5std_string& name ) const
@@ -674,7 +703,7 @@ DataType CommonFG::openDataType( const char* name ) const
// Function: CommonFG::openDataType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataType CommonFG::openDataType( const H5std_string& name ) const
@@ -709,7 +738,7 @@ ArrayType CommonFG::openArrayType( const char* name ) const
// Function: CommonFG::openArrayType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - Jul, 2005
//--------------------------------------------------------------------------
ArrayType CommonFG::openArrayType( const H5std_string& name ) const
@@ -744,7 +773,7 @@ CompType CommonFG::openCompType( const char* name ) const
// Function: CommonFG::openCompType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
CompType CommonFG::openCompType( const H5std_string& name ) const
@@ -779,7 +808,7 @@ EnumType CommonFG::openEnumType( const char* name ) const
// Function: CommonFG::openEnumType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
EnumType CommonFG::openEnumType( const H5std_string& name ) const
@@ -814,7 +843,7 @@ IntType CommonFG::openIntType( const char* name ) const
// Function: CommonFG::openIntType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
IntType CommonFG::openIntType( const H5std_string& name ) const
@@ -849,7 +878,7 @@ FloatType CommonFG::openFloatType( const char* name ) const
// Function: CommonFG::openFloatType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
FloatType CommonFG::openFloatType( const H5std_string& name ) const
@@ -884,7 +913,7 @@ StrType CommonFG::openStrType( const char* name ) const
// Function: CommonFG::openStrType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
StrType CommonFG::openStrType( const H5std_string& name ) const
@@ -919,7 +948,7 @@ VarLenType CommonFG::openVarLenType( const char* name ) const
// Function: CommonFG::openVarLenType
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - Jul, 2005
//--------------------------------------------------------------------------
VarLenType CommonFG::openVarLenType( const H5std_string& name ) const
@@ -955,7 +984,7 @@ int CommonFG::iterateElems( const char* name, int *idx, H5G_iterate_t op , void*
// Function: CommonFG::iterateElems
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c std::string for \a name.
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
int CommonFG::iterateElems( const H5std_string& name, int *idx, H5G_iterate_t op , void* op_data )
@@ -1034,10 +1063,27 @@ H5std_string CommonFG::getObjnameByIdx(hsize_t idx) const
/// each time the group is opened.
// Programmer Binh-Minh Ribler - January, 2003
//--------------------------------------------------------------------------
ssize_t CommonFG::getObjnameByIdx(hsize_t idx, char* name, size_t size) const
{
ssize_t name_len = H5Lget_name_by_idx(getLocId(), ".", H5_INDEX_NAME, H5_ITER_INC, idx, name, size, H5P_DEFAULT);
if(name_len < 0)
{
throwException("getObjnameByIdx", "H5Lget_name_by_idx failed");
}
return (name_len);
}
//--------------------------------------------------------------------------
// Function: CommonFG::getObjnameByIdx
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes an
/// \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - January, 2003
//--------------------------------------------------------------------------
ssize_t CommonFG::getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const
{
char* name_C = new char[size];
ssize_t name_len = H5Lget_name_by_idx(getLocId(), ".", H5_INDEX_NAME, H5_ITER_INC, idx, name_C, size, H5P_DEFAULT);
ssize_t name_len = getObjnameByIdx(idx, name_C, size);
if(name_len < 0)
{
throwException("getObjnameByIdx", "H5Lget_name_by_idx failed");
@@ -1071,7 +1117,35 @@ H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx) const
// Function: CommonFG::getObjTypeByIdx
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function because it also provides
/// the returned object type in text.
/// the returned object type in text (char*)
///\param idx - IN: Transient index of the object
///\param type_name - IN: Object type in text
///\return Object type
///\exception H5::FileIException or H5::GroupIException
// Programmer Binh-Minh Ribler - May, 2010
//--------------------------------------------------------------------------
H5G_obj_t CommonFG::getObjTypeByIdx(hsize_t idx, char* type_name) const
{
H5G_obj_t obj_type = H5Gget_objtype_by_idx(getLocId(), idx);
switch (obj_type)
{
case H5G_LINK: HDstrcpy(type_name, "symbolic link"); break;
case H5G_GROUP: HDstrcpy(type_name, "group"); break;
case H5G_DATASET: HDstrcpy(type_name, "dataset"); break;
case H5G_TYPE: HDstrcpy(type_name, "datatype"); break;
case H5G_UNKNOWN:
default:
{
throwException("getObjTypeByIdx", "H5Gget_objtype_by_idx failed");
}
}
return (obj_type);
}
//--------------------------------------------------------------------------
// Function: CommonFG::getObjTypeByIdx
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function because it also provides
/// the returned object type in text (H5std_string&)
///\param idx - IN: Transient index of the object
///\param type_name - IN: Object type in text
///\return Object type

View File

@@ -50,9 +50,8 @@ class H5_DLLCPP CommonFG {
DataSet openDataSet(const H5std_string& name) const;
// Retrieves comment for the HDF5 object specified by its name.
H5std_string getComment(const H5std_string& name) const;
H5std_string getComment(const char* name, size_t bufsize) const;
H5std_string getComment(const H5std_string& name, size_t bufsize) const;
H5std_string getComment(const char* name, size_t bufsize=256) const;
H5std_string getComment(const H5std_string& name, size_t bufsize=256) const;
// Removes the comment for the HDF5 object specified by its name.
void removeComment(const char* name) const;
@@ -62,22 +61,24 @@ class H5_DLLCPP CommonFG {
void setComment(const char* name, const char* comment) const;
void setComment(const H5std_string& name, const H5std_string& comment) const;
// Returns the name of the HDF5 object that the symbolic link points to.
H5std_string getLinkval(const char* name, size_t size) const;
H5std_string getLinkval(const H5std_string& name, size_t size) const;
// Returns the value of a symbolic link.
H5std_string getLinkval(const char* link_name, size_t size=0) const;
H5std_string getLinkval(const H5std_string& link_name, size_t size=0) const;
// Returns the number of objects in this group.
hsize_t getNumObjs() const;
// Retrieves the name of an object in this group, given the
// object's index.
ssize_t getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const;
H5std_string getObjnameByIdx(hsize_t idx) const;
ssize_t getObjnameByIdx(hsize_t idx, char* name, size_t size) const;
ssize_t getObjnameByIdx(hsize_t idx, H5std_string& name, size_t size) const;
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Returns the type of an object in this group, given the
// object's index.
H5G_obj_t getObjTypeByIdx(hsize_t idx) const;
H5G_obj_t getObjTypeByIdx(hsize_t idx, char* type_name) const;
H5G_obj_t getObjTypeByIdx(hsize_t idx, H5std_string& type_name) const;
// Returns information about an HDF5 object, given by its name,

View File

@@ -26,12 +26,21 @@ namespace H5 {
class H5_DLLCPP CompType : public DataType {
public:
// Default constructor
CompType();
// Creates a compound datatype using an existing id
CompType( const hid_t existing_id );
// Creates a new compound datatype, given the type's size
CompType( size_t size ); // H5Tcreate
// Gets the compound datatype of the specified dataset
CompType( const DataSet& dataset ); // H5Dget_type
// Copy constructor - makes a copy of original object
CompType( const CompType& original );
// Returns the type class of the specified member of this compound
// datatype. It provides to the user a way of knowing what type
// to create another datatype of the same class
@@ -88,18 +97,9 @@ class H5_DLLCPP CompType : public DataType {
// Recursively removes padding from within this compound datatype.
void pack() const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("CompType"); }
// Default constructor
CompType();
// Creates a compound datatype using an existing id
CompType( const hid_t existing_id );
// Copy constructor - makes a copy of original object
CompType( const CompType& original );
// Noop destructor.
virtual ~CompType();

View File

@@ -44,9 +44,9 @@
#include "H5Group.h"
#include "H5File.h"
#include "H5Library.h"
/* Some C++ compilers do not have offsetof macro; define to bypass the problem
- BMR- -EIP- 2007/08/01
- BMR- -EIP- 2007/08/01
*/
#ifndef H5_CXX_HAVE_OFFSETOF
#ifdef HOFFSET

View File

@@ -30,7 +30,7 @@
* It is assumed that the user has knowledge of the HDF5 file format
* and its components. If you are not familiar with HDF5 file format,
* and would like to find out more, please refer to the HDF5 documentation
* at http://hdf.ncsa.uiuc.edu/HDF5/doc/H5.intro.html
* at http://www.hdfgroup.org/HDF5/doc/index.html
*
* Because the HDF5 library maps very well to
* the object oriented design approach, classes in the C++ API can

View File

@@ -28,11 +28,16 @@
#include "H5PropList.h"
#include "H5DxferProp.h"
#include "H5DcreatProp.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"
#include "H5DataSpace.h"
#include "H5AbstractDs.h"
#include "H5File.h"
#include "H5Attribute.h"
#include "H5DataSet.h"
#include "H5private.h" // for HDfree
#ifndef H5_NO_NAMESPACE
namespace H5 {
@@ -47,7 +52,7 @@ namespace H5 {
///\brief Default constructor: creates a stub DataSet.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet::DataSet() : AbstractDs() {}
DataSet::DataSet() : AbstractDs(), H5Object(), id(0) {}
//--------------------------------------------------------------------------
// Function: DataSet overloaded constructor
@@ -55,7 +60,10 @@ DataSet::DataSet() : AbstractDs() {}
///\param existing_id - IN: Id of an existing dataset
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet::DataSet(const hid_t existing_id) : AbstractDs(existing_id) {}
DataSet::DataSet(const hid_t existing_id) : AbstractDs(), H5Object()
{
id = existing_id;
}
//--------------------------------------------------------------------------
// Function: DataSet copy constructor
@@ -63,23 +71,83 @@ DataSet::DataSet(const hid_t existing_id) : AbstractDs(existing_id) {}
///\param original - IN: DataSet instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSet::DataSet( const DataSet& original ) : AbstractDs( original ) {}
DataSet::DataSet(const DataSet& original) : AbstractDs(original), H5Object(original)
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: DataSet overload constructor - dereference
///\brief Given a reference to some object, returns that dataset
/// obj - IN: Dataset reference object is in or location of
/// object that the dataset is located within.
///\brief Given a reference, ref, to an hdf5 dataset, creates a
/// DataSet object
///\param obj - IN: Dataset reference object is in or location of
/// object that the dataset is located within.
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::DataSetIException
///\parDescription
/// \c obj can be DataSet, Group, H5File, or named DataType, that
///\par Description
/// \c obj can be DataSet, Group, H5File, or named DataType, that
/// is a datatype that has been named by DataType::commit.
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataSet::DataSet(IdComponent& obj, void* ref) : AbstractDs()
DataSet::DataSet(H5Object& obj, const void* ref, H5R_type_t ref_type) : AbstractDs(), H5Object()
{
IdComponent::dereference(obj, ref);
try {
id = p_dereference(obj.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("DataSet constructor - located by object",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataSet overload constructor - dereference
///\brief Given a reference, ref, to an hdf5 dataset, creates a
/// DataSet object
///\param h5file - IN: Location referenced object is in
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::DataSetIException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataSet::DataSet(H5File& h5file, const void* ref, H5R_type_t ref_type) : AbstractDs(), H5Object()
{
try {
id = p_dereference(h5file.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("DataSet constructor - located by HDF5 file",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataSet overload constructor - dereference
///\brief Given a reference, ref, to an hdf5 dataset, creates a
/// DataSet object
///\param attr - IN: Specifying location where the referenced object is in
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataSet::DataSet(Attribute& attr, const void* ref, H5R_type_t ref_type) : AbstractDs(), H5Object()
{
try {
id = p_dereference(attr.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("DataSet constructor - located by attribute",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
@@ -152,6 +220,71 @@ hsize_t DataSet::getStorageSize() const
return(storage_size);
}
//--------------------------------------------------------------------------
// Function: DataSet::getInMemDataSize
///\brief Gets the size in memory of the dataset's data.
///\return Size of data (in memory)
///\exception H5::DataSetIException
// Programmer Binh-Minh Ribler - Apr 2009
//--------------------------------------------------------------------------
size_t DataSet::getInMemDataSize() const
{
const char *func = "DataSet::getInMemDataSize";
// Get the data type of this dataset
hid_t mem_type_id = H5Dget_type(id);
if( mem_type_id < 0 )
{
throw DataSetIException(func, "H5Dget_type failed");
}
// Get the data type's size by first getting its native type then getting
// the native type's size.
hid_t native_type = H5Tget_native_type(mem_type_id, H5T_DIR_DEFAULT);
if (native_type < 0)
{
throw DataSetIException(func, "H5Tget_native_type failed");
}
size_t type_size = H5Tget_size(native_type);
if (type_size == 0)
{
throw DataSetIException(func, "H5Tget_size failed");
}
// Close the native type and the datatype of this dataset.
if (H5Tclose(native_type) < 0)
{
throw DataSetIException(func, "H5Tclose(native_type) failed");
}
if (H5Tclose(mem_type_id) < 0)
{
throw DataSetIException(func, "H5Tclose(mem_type_id) failed");
}
// Get number of elements of the dataset by first getting its dataspace,
// then getting the number of elements in the dataspace
hid_t space_id = H5Dget_space(id);
if (space_id < 0)
{
throw DataSetIException(func, "H5Dget_space failed");
}
hssize_t num_elements = H5Sget_simple_extent_npoints(space_id);
if (num_elements < 0)
{
throw DataSetIException(func, "H5Sget_simple_extent_npoints failed");
}
// Close the dataspace
if (H5Sclose(space_id) < 0)
{
throw DataSetIException(func, "H5Sclose failed");
}
// Calculate and return the size of the data
size_t data_size = type_size * num_elements;
return(data_size);
}
//--------------------------------------------------------------------------
// Function: DataSet::getOffset
///\brief Returns the address of this dataset in the file.
@@ -296,21 +429,46 @@ void DataSet::read( void* buf, const DataType& mem_type, const DataSpace& mem_sp
//--------------------------------------------------------------------------
// Function: DataSet::read
///\brief This is an overloaded member function, provided for convenience.
/// It takes a reference to a \c std::string for the buffer.
/// It takes a reference to a \c H5std_string for the buffer.
///\param buf - IN: Buffer for read data
///\param mem_type - IN: Memory datatype
///\param mem_space - IN: Memory dataspace
///\param file_space - IN: Dataset's dataspace in the file
///\param xfer_plist - IN: Transfer property list for this I/O operation
///\exception H5::DataSetIException
// Programmer Binh-Minh Ribler - 2000
// Modification
// Jul 2009
// Follow the change to Attribute::read and use the following
// private functions to read datasets with fixed- and
// variable-length string:
// DataSet::p_read_fixed_len and
// DataSet::p_read_variable_len
//--------------------------------------------------------------------------
void DataSet::read( H5std_string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
void DataSet::read(H5std_string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist) const
{
// Allocate C character string for reading
size_t size = mem_type.getSize();
char* strg_C = new char[size+1]; // temporary C-string for C API
// Check if this dataset has variable-len string or fixed-len string and
// proceed appropriately.
htri_t is_variable_len = H5Tis_variable_str(mem_type.getId());
if (is_variable_len < 0)
{
throw DataSetIException("DataSet::read", "H5Tis_variable_str failed");
}
// Use the overloaded member to read
read(strg_C, mem_type, mem_space, file_space, xfer_plist);
// Obtain identifiers for C API
hid_t mem_type_id = mem_type.getId();
hid_t mem_space_id = mem_space.getId();
hid_t file_space_id = file_space.getId();
hid_t xfer_plist_id = xfer_plist.getId();
// Get the String and clean up
strg = strg_C;
delete []strg_C;
if (!is_variable_len) // only allocate for fixed-len string
{
p_read_fixed_len(mem_type_id, mem_space_id, file_space_id, xfer_plist_id, strg);
}
else
{
p_read_variable_len(mem_type_id, mem_space_id, file_space_id, xfer_plist_id, strg);
}
}
//--------------------------------------------------------------------------
@@ -347,17 +505,48 @@ void DataSet::write( const void* buf, const DataType& mem_type, const DataSpace&
//--------------------------------------------------------------------------
// Function: DataSet::write
///\brief This is an overloaded member function, provided for convenience.
/// It takes a reference to a \c std::string for the buffer.
/// It takes a reference to a \c H5std_string for the buffer.
// Programmer Binh-Minh Ribler - 2000
// Modification
// Jul 2009
// Modified to pass the buffer into H5Dwrite properly depending
// whether the dataset has variable- or fixed-length string.
//--------------------------------------------------------------------------
void DataSet::write( const H5std_string& strg, const DataType& mem_type, const DataSpace& mem_space, const DataSpace& file_space, const DSetMemXferPropList& xfer_plist ) const
{
// Convert string to C-string
const char* strg_C;
strg_C = strg.c_str(); // strg_C refers to the contents of strg as a C-str
// Check if this attribute has variable-len string or fixed-len string and
// proceed appropriately.
htri_t is_variable_len = H5Tis_variable_str(mem_type.getId());
if (is_variable_len < 0)
{
throw DataSetIException("DataSet::write", "H5Tis_variable_str failed");
}
// Use the overloaded member
write(strg_C, mem_type, mem_space, file_space, xfer_plist);
// Obtain identifiers for C API
hid_t mem_type_id = mem_type.getId();
hid_t mem_space_id = mem_space.getId();
hid_t file_space_id = file_space.getId();
hid_t xfer_plist_id = xfer_plist.getId();
// Convert string to C-string
const char* strg_C;
strg_C = strg.c_str(); // strg_C refers to the contents of strg as a C-str
herr_t ret_value = 0;
// Pass string in differently depends on variable or fixed length
if (!is_variable_len)
{
ret_value = H5Dwrite( id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, strg_C );
}
else
{
// passing string argument by address
ret_value = H5Dwrite( id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, &strg_C );
}
if (ret_value < 0)
{
throw DataSetIException("DataSet::write", "H5Dwrite failed");
}
}
//--------------------------------------------------------------------------
@@ -400,7 +589,7 @@ int DataSet::iterateElems( void* buf, const DataType& type, const DataSpace& spa
/// For more information, please see the Description section in
/// C layer Reference Manual at:
///\par
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5D.html#Dataset-Extend
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5D.html#Dataset-Extend
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSet::extend( const hsize_t* size ) const
@@ -455,65 +644,19 @@ void DataSet::fillMemBuf(void *buf, DataType& buf_type, DataSpace& space)
}
}
//--------------------------------------------------------------------------
// Function: DataSet::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use
/// DataSet::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* DataSet::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
{
try {
return(p_reference(name, dataspace.getId(), ref_type));
}
catch (IdComponentException E) {
throw DataSetIException("DataSet::Reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataSet::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// DataSet::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* DataSet::Reference(const char* name) const
{
try {
return(p_reference(name, -1, H5R_OBJECT));
}
catch (IdComponentException E) {
throw DataSetIException("DataSet::Reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataSet::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// DataSet::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* DataSet::Reference(const H5std_string& name) const
{
return(Reference(name.c_str()));
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
// Function: DataSet::getObjType
///\brief Retrieves the type of object that an object reference points to.
///\param ref_type - IN: Type of reference to query, valid values are:
/// \li \c H5R_OBJECT \tReference is an object reference.
/// \li \c H5R_DATASET_REGION \tReference is a dataset region reference.
/// \li \c H5R_OBJECT - Reference is an object reference.
/// \li \c H5R_DATASET_REGION - Reference is a dataset region reference.
///\param ref - IN: Reference to query
///\return An object type, which can be one of the following:
/// \li \c H5G_LINK (0) \tObject is a symbolic link.
/// \li \c H5G_GROUP (1) \tObject is a group.
/// \li \c H5G_DATASET (2) \tObject is a dataset.
/// \li \c H5G_TYPE Object (3) \tis a named datatype
/// \li \c H5G_LINK (0) - Object is a symbolic link.
/// \li \c H5G_GROUP (1) - Object is a group.
/// \li \c H5G_DATASET (2) - Object is a dataset.
/// \li \c H5G_TYPE (3) - Object is a named datatype
///\exception H5::DataSetIException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
@@ -531,9 +674,9 @@ H5G_obj_t DataSet::getObjType(void *ref, H5R_type_t ref_type) const
//--------------------------------------------------------------------------
// Function: DataSet::getRegion
///\brief Retrieves a dataspace with the region pointed to selected.
///\param ref - IN: Reference to get region of
///\param ref_type - IN: Type of reference to get region of - default
/// to H5R_DATASET_REGION
///\param ref - IN: Reference to get region of
///\return DataSpace instance
///\exception H5::DataSetIException
// Programmer Binh-Minh Ribler - May, 2004
@@ -549,6 +692,116 @@ DataSpace DataSet::getRegion(void *ref, H5R_type_t ref_type) const
}
}
//--------------------------------------------------------------------------
// Function: DataSet::getId
///\brief Get the id of this dataset.
// Description:
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDs and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t DataSet::getId() const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: DataSet::p_read_fixed_len (private)
// brief Reads a fixed length \a H5std_string from an dataset.
// param mem_type - IN: DataSet datatype (in memory)
// param strg - IN: Buffer for read string
// exception H5::DataSetIException
// Programmer Binh-Minh Ribler - Jul, 2009
// Modification
// Jul 2009
// Added in follow to the change in Attribute::read
//--------------------------------------------------------------------------
void DataSet::p_read_fixed_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const
{
// Only allocate for fixed-len string.
// Get the size of the dataset's data
size_t attr_size = getInMemDataSize();
// If there is data, allocate buffer and read it.
if (attr_size > 0)
{
char *strg_C = NULL;
strg_C = new char [(size_t)attr_size+1];
herr_t ret_value = H5Dread(id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, strg_C);
if( ret_value < 0 )
{
delete []strg_C; // de-allocate for fixed-len string
throw DataSetIException("DataSet::read", "H5Dread failed for fixed length string");
}
// Get string from the C char* and release resource allocated locally
strg = strg_C;
delete []strg_C;
}
}
//--------------------------------------------------------------------------
// Function: DataSet::p_read_variable_len (private)
// brief Reads a variable length \a H5std_string from an dataset.
// param mem_type - IN: DataSet datatype (in memory)
// param strg - IN: Buffer for read string
// exception H5::DataSetIException
// Programmer Binh-Minh Ribler - Jul, 2009
// Modification
// Jul 2009
// Added in follow to the change in Attribute::read
//--------------------------------------------------------------------------
void DataSet::p_read_variable_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const
{
// Prepare and call C API to read dataset.
char *strg_C;
// Read dataset, no allocation for variable-len string; C library will
herr_t ret_value = H5Dread(id, mem_type_id, mem_space_id, file_space_id, xfer_plist_id, &strg_C);
if( ret_value < 0 )
{
throw DataSetIException("DataSet::read", "H5Dread failed for variable length string");
}
// Get string from the C char* and release resource allocated by C API
strg = strg_C;
HDfree(strg_C);
}
//--------------------------------------------------------------------------
// Function: DataSet::p_setId (private)
///\brief Sets the identifier of this dataset to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSet::p_setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception close_error) {
throw DataSetIException(inMemFunc("p_setId"), close_error.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
// increment the reference counter of the new id
//incRefCount();
}
//--------------------------------------------------------------------------
// Function: DataSet::close
///\brief Closes this dataset.
@@ -565,7 +818,7 @@ void DataSet::close()
{
throw DataSetIException("DataSet::close", "H5Dclose failed");
}
// reset the id because the dataset that it represents is now closed
// reset the id
id = 0;
}
}

View File

@@ -23,7 +23,7 @@
namespace H5 {
#endif
class H5_DLLCPP DataSet : public AbstractDs {
class H5_DLLCPP DataSet : public H5Object, public AbstractDs {
public:
// Close this dataset.
virtual void close();
@@ -49,7 +49,10 @@ class H5_DLLCPP DataSet : public AbstractDs {
void getSpaceStatus(H5D_space_status_t& status) const;
// Returns the amount of storage size required for this dataset.
hsize_t getStorageSize() const;
virtual hsize_t getStorageSize() const;
// Returns the in memory size of this attribute's data.
virtual size_t getInMemDataSize() const;
// Returns the number of bytes required to store VL data.
hsize_t getVlenBufSize( DataType& type, DataSpace& space ) const;
@@ -81,19 +84,13 @@ class H5_DLLCPP DataSet : public AbstractDs {
// Retrieves a dataspace with the region pointed to selected.
DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
// Creates a reference to a named Hdf5 object or to a dataset region
// in this object.
void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const;
// Creates a reference to a named Hdf5 object in this object.
void* Reference(const char* name) const; // will be obsolete
void* Reference(const H5std_string& name) const; // will be obsolete
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("DataSet"); }
// Creates a dataset by way of dereference.
DataSet(IdComponent& obj, void* ref);
DataSet(H5Object& obj, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
DataSet(H5File& h5file, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
DataSet(Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
// Default constructor.
DataSet();
@@ -104,15 +101,30 @@ class H5_DLLCPP DataSet : public AbstractDs {
// Creates a copy of an existing DataSet using its id.
DataSet(const hid_t existing_id);
// Gets the dataset id.
virtual hid_t getId() const;
// Destructor: properly terminates access to this dataset.
virtual ~DataSet();
private:
hid_t id; // HDF5 dataset id
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This function contains the common code that is used by
// getTypeClass and various API functions getXxxType
// defined in AbstractDs for generic datatype and specific
// sub-types
virtual hid_t p_get_type() const;
// Reads variable or fixed len strings from this dataset.
void p_read_fixed_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const;
void p_read_variable_len(const hid_t mem_type_id, const hid_t mem_space_id, const hid_t file_space_id, const hid_t xfer_plist_id, H5std_string& strg) const;
protected:
// Sets the dataset id.
virtual void p_setId(const hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -47,7 +47,7 @@ const DataSpace DataSpace::ALL( H5S_ALL );
///\exception H5::DataSpaceIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSpace::DataSpace( H5S_class_t type ) : IdComponent(0)
DataSpace::DataSpace(H5S_class_t type) : IdComponent()
{
id = H5Screate( type );
if( id < 0 )
@@ -65,7 +65,7 @@ DataSpace::DataSpace( H5S_class_t type ) : IdComponent(0)
///\exception H5::DataSpaceIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) : IdComponent(0)
DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) : IdComponent()
{
id = H5Screate_simple( rank, dims, maxdims );
if( id < 0 )
@@ -82,7 +82,10 @@ DataSpace::DataSpace( int rank, const hsize_t * dims, const hsize_t * maxdims) :
///\exception H5::DataSpaceIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSpace::DataSpace(const hid_t existing_id) : IdComponent(existing_id) {}
DataSpace::DataSpace(const hid_t existing_id) : IdComponent()
{
id = existing_id;
}
//--------------------------------------------------------------------------
// Function: DataSpace copy constructor
@@ -90,7 +93,11 @@ DataSpace::DataSpace(const hid_t existing_id) : IdComponent(existing_id) {}
///\param original - IN: DataSpace object to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataSpace::DataSpace( const DataSpace& original ) : IdComponent( original ) {}
DataSpace::DataSpace(const DataSpace& original) : IdComponent(original)
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: DataSpace::copy
@@ -401,7 +408,7 @@ hssize_t DataSpace::getSelectElemNpoints () const
///\par Description
/// For more information, please refer to the C layer Reference
/// Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElemPointList
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectElemPointList
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSpace::getSelectElemPointlist ( hsize_t startpoint, hsize_t numpoints, hsize_t *buf ) const
@@ -425,7 +432,7 @@ void DataSpace::getSelectElemPointlist ( hsize_t startpoint, hsize_t numpoints,
///\par Description
/// For more information, please refer to the C layer Reference
/// Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectBounds
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectBounds
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSpace::getSelectBounds ( hsize_t* start, hsize_t* end ) const
@@ -451,7 +458,7 @@ void DataSpace::getSelectBounds ( hsize_t* start, hsize_t* end ) const
///\par Description
/// For more information, please refer to the C layer Reference
/// Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectElements
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectElements
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSpace::selectElements ( H5S_seloper_t op, const size_t num_elements, const hsize_t *coord) const
@@ -533,7 +540,7 @@ bool DataSpace::selectValid () const
///\par Description
/// For more information, please refer to the C layer Reference
/// Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5S.html#Dataspace-SelectHyperslab
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5S.html#Dataspace-SelectHyperslab
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSpace::selectHyperslab( H5S_seloper_t op, const hsize_t *count, const hsize_t *start, const hsize_t *stride, const hsize_t *block ) const
@@ -547,6 +554,47 @@ void DataSpace::selectHyperslab( H5S_seloper_t op, const hsize_t *count, const h
}
}
//--------------------------------------------------------------------------
// Function: DataSpace::getId
// Purpose: Get the id of this attribute
// Modification:
// May 2008 - BMR
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t DataSpace::getId() const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: DataSpace::p_setId
///\brief Sets the identifier of this object to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataSpace::p_setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception close_error) {
throw DataSpaceIException(inMemFunc("p_setId"), close_error.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
}
//--------------------------------------------------------------------------
// Function: DataSpace::close
///\brief Closes this dataspace.
@@ -564,7 +612,7 @@ void DataSpace::close()
{
throw DataSpaceIException("DataSpace::close", "H5Sclose failed");
}
// reset the id because the dataspace that it represents is now closed
// reset the id
id = 0;
}
}
@@ -583,8 +631,7 @@ DataSpace::~DataSpace()
{
try {
close();
}
catch (Exception close_error) {
} catch (Exception close_error) {
cerr << "DataSpace::~DataSpace - " << close_error.getDetailMsg() << endl;
}
}

View File

@@ -103,7 +103,7 @@ class H5_DLLCPP DataSpace : public IdComponent {
// Sets or resets the size of this dataspace.
void setExtentSimple( int rank, const hsize_t *current_size, const hsize_t *maximum_size = NULL ) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("DataSpace"); }
// Creates a DataSpace object using an existing dataspace id.
@@ -112,8 +112,18 @@ class H5_DLLCPP DataSpace : public IdComponent {
// Copy constructor: makes a copy of the original DataSpace object.
DataSpace(const DataSpace& original);
// Gets the dataspace id.
virtual hid_t getId() const;
// Destructor: properly terminates access to this dataspace.
virtual ~DataSpace();
private:
hid_t id; // HDF5 dataspace id
protected:
// Sets the dataspace id.
virtual void p_setId(const hid_t new_id);
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -38,6 +38,7 @@
#include "H5AbstractDs.h"
#include "H5DataSet.h"
#include "H5File.h"
#include "H5Attribute.h"
#ifndef H5_NO_NAMESPACE
namespace H5 {
@@ -51,18 +52,19 @@ namespace H5 {
// Function: DataType overloaded constructor
///\brief Creates a datatype using an existing datatype's id
///\param existing_id - IN: Id of the existing datatype
///\param predefined - IN: Indicates whether or not this datatype is
/// a predefined datatype; default to \c false
// Description
// Constructor creates a copy of an existing DataType using
// its id. The argument "predefined" is default to false;
// when a default datatype is created, this argument is set
// to true so H5Tclose will not be called on it later. - need
// a reassessment after changing to the new ref counting mech.
// - BMR 5/2004
// its id.
// Programmer Binh-Minh Ribler - 2000
// Modification
// Dec, 2005
// Removed second argument, "predefined", after changing to the
// new ref counting mechanism that relies on C's ref counting.
//--------------------------------------------------------------------------
DataType::DataType(const hid_t existing_id) : H5Object(existing_id) {}
DataType::DataType(const hid_t existing_id) : H5Object()
{
id = existing_id;
}
//--------------------------------------------------------------------------
// Function: DataType overloaded constructor
@@ -84,17 +86,74 @@ DataType::DataType( const H5T_class_t type_class, size_t size ) : H5Object()
//--------------------------------------------------------------------------
// Function: DataType overload constructor - dereference
///\brief Given a reference to some object, returns that datatype
///\param obj - IN: Location reference object is in
///\brief Given a reference, ref, to an hdf5 group, creates a
/// DataType object
///\param obj - IN: Specifying location referenced object is in
///\param ref - IN: Reference pointer
///\parDescription
/// \c obj can be DataSet, Group, H5File, or named DataType, that
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::ReferenceException
///\par Description
/// \c obj can be DataSet, Group, or named DataType, that
/// is a datatype that has been named by DataType::commit.
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataType::DataType(IdComponent& obj, void* ref) : H5Object()
DataType::DataType(H5Object& obj, const void* ref, H5R_type_t ref_type) : H5Object()
{
IdComponent::dereference(obj, ref);
try {
id = p_dereference(obj.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("DataType constructor - located by an H5Object",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataType overload constructor - dereference
///\brief Given a reference, ref, to an hdf5 group, creates a
/// DataType object
///\param h5file - IN: Location referenced object is in
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataType::DataType(H5File& h5file, const void* ref, H5R_type_t ref_type) : H5Object()
{
try {
id = p_dereference(h5file.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("DataType constructor - located by an H5File",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataType overload constructor - dereference
///\brief Given a reference, ref, to an hdf5 group, creates a
/// DataType object
///\param attr - IN: Specifying location where the referenced object is in
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// Jul, 2008
// Added for application convenience.
//--------------------------------------------------------------------------
DataType::DataType(Attribute& attr, const void* ref, H5R_type_t ref_type) : H5Object()
{
try {
id = p_dereference(attr.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("DataType constructor - located by an Attribute",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
@@ -102,14 +161,18 @@ DataType::DataType(IdComponent& obj, void* ref) : H5Object()
///\brief Default constructor: Creates a stub datatype
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataType::DataType() : H5Object() {}
DataType::DataType() : H5Object(), id(0) {}
//--------------------------------------------------------------------------
// Function: DataType copy constructor
///\brief Copy constructor: makes a copy of the original DataType object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DataType::DataType(const DataType& original) : H5Object(original) {}
DataType::DataType(const DataType& original) : H5Object(original)
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: DataType::copy
@@ -142,10 +205,10 @@ void DataType::copy( const DataType& like_type )
//--------------------------------------------------------------------------
// Function: DataType::copy
///\brief Copies the datatype of the given dataset to this datatype object
///\param dset - IN: Dataset
///\param dset - IN: Dataset
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - Jan, 2007
///\parDescription
///\par Description
/// The resulted dataset will be transient and modifiable.
//--------------------------------------------------------------------------
void DataType::copy(const DataSet& dset)
@@ -210,7 +273,7 @@ bool DataType::operator==(const DataType& compared_type ) const
// Function: DataType::p_commit (private)
//\brief Commits a transient datatype to a file, creating a new
// named datatype
//\param loc_id - IN: The id of either a file, group, dataset, named
//\param loc_id - IN: The id of either a file, group, dataset, named
// datatype, or attribute.
//\param name - IN: Name of the datatype
//\exception H5::DataTypeIException
@@ -452,7 +515,7 @@ DataType DataType::getSuper() const
///\exception H5::DataTypeIException
///\par Description
/// For more information, please see:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-Register
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5T.html#Datatype-Register
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataType::registerFunc( H5T_pers_t pers, const char* name, const DataType& dest, H5T_conv_t func ) const
@@ -616,52 +679,6 @@ bool DataType::isVariableStr() const
}
}
//--------------------------------------------------------------------------
// Function: DataType::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// DataType::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* DataType::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
{
try {
return(p_reference(name, dataspace.getId(), ref_type));
}
catch (IdComponentException E) {
throw DataTypeIException(inMemFunc("Reference"), E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataType::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// DataType::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* DataType::Reference(const char* name) const
{
try {
return(p_reference(name, -1, H5R_OBJECT));
}
catch (IdComponentException E) {
throw DataTypeIException(inMemFunc("Reference"), E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: DataType::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// DataType::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* DataType::Reference(const H5std_string& name) const
{
return(Reference(name.c_str()));
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
// Function: DataType::getObjType
@@ -707,6 +724,47 @@ DataSpace DataType::getRegion(void *ref, H5R_type_t ref_type) const
}
}
//--------------------------------------------------------------------------
// Function: DataType::getId
// Purpose: Get the id of this attribute
// Modification:
// May 2008 - BMR
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t DataType::getId() const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: DataType::p_setId
///\brief Sets the identifier of this object to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataType::p_setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception close_error) {
throw DataTypeIException(inMemFunc("p_setId"), close_error.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
}
//--------------------------------------------------------------------------
// Function: DataType::close
///\brief Closes the datatype if it is not a predefined type.
@@ -723,7 +781,7 @@ void DataType::close()
{
throw DataTypeIException(inMemFunc("close"), "H5Tclose failed");
}
// reset the id because the datatype that it represents is now closed
// reset the id
id = 0;
}
}
@@ -734,20 +792,34 @@ void DataType::close()
// Programmer Binh-Minh Ribler - 2000
// Modification
// - Replaced resetIdComponent() with decRefCount() to use C
// library ID reference counting mechanism - BMR, Jun 1, 2004
// library ID reference counting mechanism - BMR, Jun 1, 2004
// - Replaced decRefCount with close() to let the C library
// handle the reference counting - BMR, Jun 1, 2006
// handle the reference counting - BMR, Jun 1, 2006
// - Added the use of H5CPP_EXITED to terminate the HDF5 library
// and elimiate previous memory leaks. See comments in the
// header file "H5PredType.h" for details. - BMR, Mar 30, 2012
//--------------------------------------------------------------------------
DataType::~DataType()
{
try {
close();
try
{
/* If this is the object AtExit, terminate the HDF5 library. This is
to eliminate memory leaks due to the library being re-initiated
(after the program has ended) and not re-terminated. */
if (id == H5CPP_EXITED)
{
herr_t ret_value = H5close();
if (ret_value == FAIL)
throw DataTypeIException(inMemFunc("~DataType - "), "H5close failed");
}
// Close the HDF5 datatype
else
close();
}
catch (Exception close_error) {
cerr << inMemFunc("~DataType - ") << close_error.getDetailMsg() << endl;
}
}
#ifndef H5_NO_NAMESPACE
} // end namespace
#endif

View File

@@ -30,7 +30,9 @@ class H5_DLLCPP DataType : public H5Object {
DataType( const DataType& original );
// Creates a datatype by way of dereference.
DataType(IdComponent& obj, void* ref);
DataType(H5Object& obj, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
DataType(H5File& h5file, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
DataType(Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
// Closes this datatype.
virtual void close();
@@ -99,14 +101,6 @@ class H5_DLLCPP DataType : public H5Object {
// Checks whether this datatype is a variable-length string.
bool isVariableStr() const;
// Creates a reference to a named HDF5 object or to a dataset region
// in this object.
void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete
// Creates a reference to a named HDF5 object in this object.
void* Reference(const char* name) const; // will be obsolete
void* Reference(const H5std_string& name) const; // will be obsolete
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Retrieves the type of object that an object reference points to.
H5G_obj_t getObjType(void *ref, H5R_type_t ref_type = H5R_OBJECT) const;
@@ -115,7 +109,7 @@ class H5_DLLCPP DataType : public H5Object {
// Retrieves a dataspace with the region pointed to selected.
DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("DataType"); }
// Creates a copy of an existing DataType using its id
@@ -124,8 +118,18 @@ class H5_DLLCPP DataType : public H5Object {
// Default constructor
DataType();
// Gets the datatype id.
virtual hid_t getId() const;
// Destructor: properly terminates access to this datatype.
virtual ~DataType();
protected:
hid_t id; // HDF5 datatype id
// Sets the datatype id.
virtual void p_setId(const hid_t new_id);
private:
void p_commit(hid_t loc_id, const char* name);
};

View File

@@ -54,7 +54,7 @@ DSetCreatPropList::DSetCreatPropList( const DSetCreatPropList& orig ) : PropList
/// existing dataset creation property list.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
DSetCreatPropList::DSetCreatPropList(const hid_t plist_id) : PropList( plist_id ) {}
DSetCreatPropList::DSetCreatPropList(const hid_t plist_id) : PropList(plist_id) {}
//--------------------------------------------------------------------------
// Function: DSetCreatPropList::setChunk
@@ -106,8 +106,8 @@ int DSetCreatPropList::getChunk( int max_ndims, hsize_t* dim ) const
///\param layout - IN: Type of storage layout for raw data
///\exception H5::PropListIException
///\par Description
/// For information on setting layout type, please refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetLayout
/// For information on valid layout types, please refer to
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetLayout
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DSetCreatPropList::setLayout(H5D_layout_t layout) const
@@ -172,16 +172,16 @@ void DSetCreatPropList::setDeflate( int level ) const
//--------------------------------------------------------------------------
// Function: DSetCreatPropList::setSzip
///\brief Sets up for the use of the SZIP compression filter.
///\param options_mask - IN: A bit-mask conveying the desired SZIP
/// options. Valid values are H5_SZIP_EC_OPTION_MASK
///\param options_mask - IN: A bit-mask conveying the desired SZIP
/// options. Valid values are H5_SZIP_EC_OPTION_MASK
/// and H5_SZIP_NN_OPTION_MASK.
///\param pixels_per_block - IN: Number of pixels or data elements in
///\param pixels_per_block - IN: Number of pixels or data elements in
/// each data block.
///\exception H5::PropListIException
///\par Description
/// The associate C function sets an SZIP compression filter,
/// The associate C function sets an SZIP compression filter,
/// H5Z_FILTER_SZIP, for a dataset. For more information about
/// SZIP and usage, please refer to the C layer Reference
/// SZIP and usage, please refer to the C layer Reference
/// Manual at:
/// http://hdfgroup.org/HDF5/doc/RM_H5P.html#Property-SetSzip
// Programmer Binh-Minh Ribler - Jan, 2007
@@ -211,7 +211,7 @@ void DSetCreatPropList::setSzip(unsigned int options_mask, unsigned int pixels_p
///\par
/// For information on setting fill value, please refer to the
/// C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFillValue
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetFillValue
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DSetCreatPropList::setFillValue( const DataType& fvalue_type, const void* value ) const
@@ -459,7 +459,7 @@ bool DSetCreatPropList::allFiltersAvail()
///\par Description
/// Please refer to the Reference Manual of \c H5Pset_shuffle for
/// details.
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetShuffle
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetShuffle
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DSetCreatPropList::setShuffle() const

View File

@@ -107,7 +107,7 @@ class H5_DLLCPP DSetCreatPropList : public PropList {
// Sets SZIP compression method.
void setSzip(unsigned int options_mask, unsigned int pixels_per_block) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("DSetCreatPropList"); }
// Copy constructor: creates a copy of a DSetCreatPropList object.

View File

@@ -309,7 +309,7 @@ void DSetMemXferPropList::getMulti(hid_t *memb_dxpl)
///\exception H5::PropListIException
///\par Description
/// For detail, please refer to the C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSmallData
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetSmallData
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void DSetMemXferPropList::setSmallDataBlockSize(hsize_t size)
@@ -349,7 +349,7 @@ hsize_t DSetMemXferPropList::getSmallDataBlockSize()
///\par Description
/// For information, please refer to the C layer Reference
/// Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetHyperVectorSize
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetHyperVectorSize
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void DSetMemXferPropList::setHyperVectorSize(size_t vector_size)

View File

@@ -92,7 +92,7 @@ class H5_DLLCPP DSetMemXferPropList : public PropList {
// Determines whether error-detection is enabled for dataset reads.
H5Z_EDC_t getEDCCheck();
// Returns this class name.
///\brief Returns this class name.
virtual H5std_string fromClass () const { return("DSetMemXferPropList"); }
// Copy constructor: makes a copy of a DSetMemXferPropList object.
@@ -104,7 +104,6 @@ class H5_DLLCPP DSetMemXferPropList : public PropList {
// Noop destructor
virtual ~DSetMemXferPropList();
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -57,7 +57,7 @@ class H5_DLLCPP EnumType : public DataType {
void valueOf( const char* name, void *value ) const;
void valueOf( const H5std_string& name, void *value ) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("EnumType"); }
// Default constructor

View File

@@ -22,7 +22,7 @@
namespace H5 {
#endif
const H5std_string Exception::DEFAULT_MSG("No detailed information provided");
const char Exception::DEFAULT_MSG[] = "No detailed information provided";
//--------------------------------------------------------------------------
// Function: Exception default constructor
@@ -252,7 +252,7 @@ void Exception::walkErrorStack( H5E_direction_t direction, H5E_walk2_t func, voi
// Function: Exception::getDetailMsg
///\brief Returns the detailed message set at the time the exception
/// is thrown.
///\return Text message - \c std::string
///\return Text message - \c H5std_string
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5std_string Exception::getDetailMsg() const
@@ -275,7 +275,7 @@ const char* Exception::getCDetailMsg() const
//--------------------------------------------------------------------------
// Function: Exception::getFuncName
///\brief Returns the name of the function, where the exception is thrown.
///\return Text message - \c std::string
///\return Text message - \c H5std_string
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5std_string Exception::getFuncName() const

View File

@@ -79,18 +79,12 @@ class H5_DLLCPP Exception {
virtual ~Exception();
private:
// Because 'string' is not instantiated at compilation time, this
// warning is displayed when building DLL; but the class is exported
// so the warning is harmless
#if defined(_WIN32)
#pragma warning(disable: 4251)
#endif
H5std_string detail_message;
H5std_string func_name;
protected:
// Default value for detail_message
static const H5std_string DEFAULT_MSG;
static const char DEFAULT_MSG[];
};
class H5_DLLCPP FileIException : public Exception {

View File

@@ -76,7 +76,7 @@ void FileAccPropList::setStdio() const
/// driver was set for the property list. The driver ID is
/// only valid as long as the file driver remains registered.
/// Valid driver identifiers can be found at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetDriver
///\exception H5::PropListIException
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
@@ -99,7 +99,7 @@ hid_t FileAccPropList::getDriver() const
///\par Description
/// For a list of valid driver identifiers, please see the C
/// layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetDriver
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetDriver
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setDriver(hid_t new_driver_id, const void *new_driver_info) const
@@ -157,7 +157,7 @@ hsize_t FileAccPropList::getFamilyOffset() const
///\par Description
/// For more details on the use of \c H5FD_CORE driver, please
/// refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplCore
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetFaplCore
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setCore (size_t increment, hbool_t backing_store) const
@@ -225,7 +225,7 @@ void FileAccPropList::getFamily(hsize_t& memb_size, FileAccPropList& memb_plist)
{
throw PropListIException("FileAccPropList::getFamily", "H5Pget_fapl_family failed");
}
memb_plist.setId(memb_plist_id);
memb_plist.p_setId(memb_plist_id);
}
//--------------------------------------------------------------------------
@@ -261,7 +261,7 @@ FileAccPropList FileAccPropList::getFamily(hsize_t& memb_size) const
///\exception H5::PropListIException
///\par Description
/// Temporary - For information, please refer to:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplSplit
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetFaplSplit
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& raw_plist, const char* meta_ext, const char* raw_ext ) const
@@ -292,47 +292,9 @@ void FileAccPropList::setSplit( FileAccPropList& meta_plist, FileAccPropList& ra
setSplit( meta_plist, raw_plist, meta_ext.c_str(), raw_ext.c_str() );
}
#ifdef H5_HAVE_STREAM // for Stream Virtual File Driver
//--------------------------------------------------------------------------
// Function: FileAccPropList::getStream
///\brief Retrieves the streaming I/O driver settings
///\return The streaming I/O file access property list structure
/// For detail on this structure, please refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
///\exception H5::PropListIException
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
H5FD_stream_fapl_t FileAccPropList::getStream() const
{
H5FD_stream_fapl_t fapl;
herr_t ret_value = H5Pget_fapl_stream(id, &fapl);
if( ret_value < 0 )
{
throw PropListIException("FileAccPropList::getStream", "H5Pget_fapl_stream failed");
}
return(fapl);
}
//--------------------------------------------------------------------------
// Function: FileAccPropList::setStream
///\brief Modifies this file access property list to use the Stream
/// driver.
///\param fapl - IN: The streaming I/O file access property list
///\exception H5::PropListIException
///\par Description
/// For detail on \a fapl, please refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setStream(H5FD_stream_fapl_t &fapl) const
{
herr_t ret_value = H5Pset_fapl_stream (id, &fapl);
if( ret_value < 0 )
{
throw PropListIException("FileAccPropList::setStream", "H5Pset_fapl_stream failed");
}
}
#endif // Stream Virtual File Driver
// Stream Virtual File Driver had been removed from the main library.
// FileAccPropList::[s,g]etStream are now removed from the C++ API.
// -BMR, March, 2012
//--------------------------------------------------------------------------
// Function: FileAccPropList::getSieveBufSize
@@ -360,7 +322,7 @@ size_t FileAccPropList::getSieveBufSize() const
///\exception H5::PropListIException
///\par Description
/// For detail on data sieving, please refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSieveBufSize
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetSieveBufSize
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setSieveBufSize(size_t bufsize) const
@@ -380,7 +342,7 @@ void FileAccPropList::setSieveBufSize(size_t bufsize) const
///\exception H5::PropListIException
///\par Description
/// For more detail, please see the C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMetaBlockSize
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetMetaBlockSize
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setMetaBlockSize(hsize_t &block_size) const
@@ -420,7 +382,7 @@ hsize_t FileAccPropList::getMetaBlockSize() const
///\exception H5::PropListIException
///\par Description
/// For detail on \a flags, please refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetFaplLog
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setLog(const char *logfile, unsigned flags, size_t buf_size) const
@@ -477,7 +439,7 @@ void FileAccPropList::setSec2() const
/// The parameter \a alignment must have a positive value.
///
/// For detail on \a setting alignment, please refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetAlignment
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetAlignment
// Programmer: Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void FileAccPropList::setAlignment( hsize_t threshold, hsize_t alignment ) const
@@ -514,7 +476,7 @@ void FileAccPropList::getAlignment( hsize_t &threshold, hsize_t &alignment ) con
///\exception H5::PropListIException
///\par Description
/// More details and valid values for \a dtype can be found at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetMultiType
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetMultiType
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void FileAccPropList::setMultiType(H5FD_mem_t dtype) const
@@ -533,7 +495,7 @@ void FileAccPropList::setMultiType(H5FD_mem_t dtype) const
///\exception H5::PropListIException
///\par Description
/// More details and possible returned values can be found at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-GetMultiType
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetMultiType
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
H5FD_mem_t FileAccPropList::getMultiType() const
@@ -634,7 +596,7 @@ H5F_close_degree_t FileAccPropList::getFcloseDegree()
///\exception H5::PropListIException
///\par Description
/// For detail on \a fapl, please refer to
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetFaplStream
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetGCReferences
// Programmer: Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void FileAccPropList::setGcReferences( unsigned gc_ref ) const

View File

@@ -123,7 +123,7 @@ class H5_DLLCPP FileAccPropList : public PropList {
// Returns garbage collecting references setting.
unsigned getGcReferences() const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("FileAccPropList"); }
// Copy constructor: creates a copy of a FileAccPropList object.

View File

@@ -126,7 +126,7 @@ hsize_t FileCreatPropList::getUserblock() const
///\par Description
/// For information on setting sizes, please refer to the
/// C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSizes
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetSizes
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void FileCreatPropList::setSizes( size_t sizeof_addr, size_t sizeof_size ) const
@@ -166,7 +166,7 @@ void FileCreatPropList::getSizes( size_t& sizeof_addr, size_t& sizeof_size ) con
///\exception H5::PropListIException
///\par Description
/// For information, please see the C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetSymK
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void FileCreatPropList::setSymk( unsigned ik, unsigned lk ) const
@@ -187,7 +187,7 @@ void FileCreatPropList::setSymk( unsigned ik, unsigned lk ) const
///\exception H5::PropListIException
///\par Description
/// For information, please see
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetSymK
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetSymK
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void FileCreatPropList::getSymk( unsigned& ik, unsigned& lk ) const
@@ -208,7 +208,7 @@ void FileCreatPropList::getSymk( unsigned& ik, unsigned& lk ) const
///\exception H5::PropListIException
///\par Description
/// For information, please see the C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetIstoreK
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void FileCreatPropList::setIstorek( unsigned ik ) const
@@ -228,7 +228,7 @@ void FileCreatPropList::setIstorek( unsigned ik ) const
///\exception H5::PropListIException
///\par Description
/// For information, please see
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5P.html#Property-SetIstoreK
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-GetIstoreK
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
unsigned FileCreatPropList::getIstorek() const

View File

@@ -60,7 +60,7 @@ class H5_DLLCPP FileCreatPropList : public PropList {
// indexing chunked datasets.
void setIstorek( unsigned ik ) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("FileCreatPropList"); }
// Copy constructor: creates a copy of a FileCreatPropList object.

View File

@@ -50,7 +50,7 @@ namespace H5 {
///\brief Default constructor: creates a stub H5File object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5File::H5File() : IdComponent(0) {}
H5File::H5File() : IdComponent(), id(0) {}
//--------------------------------------------------------------------------
// Function: H5File overloaded constructor
@@ -76,7 +76,7 @@ H5File::H5File() : IdComponent(0) {}
/// For info on file creation in the case of an already-open file,
/// please refer to the \b Special \b case section in the C layer
/// Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5F.html#File-Create
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5F.html#File-Create
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist ) : IdComponent(0)
@@ -88,7 +88,7 @@ H5File::H5File( const char* name, unsigned int flags, const FileCreatPropList& c
// Function: H5File overloaded constructor
///\brief This is another overloaded constructor. It differs from the
/// above constructor only in the type of the \a name argument.
///\param name - IN: Name of the file - \c std::string
///\param name - IN: Name of the file - \c H5std_string
///\param flags - IN: File access flags
///\param create_plist - IN: File creation property list, used when
/// modifying default file meta-data. Default to
@@ -140,7 +140,11 @@ void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPro
///\param original - IN: H5File instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
H5File::H5File( const H5File& original ) : IdComponent( original ) {}
H5File::H5File(const H5File& original) : IdComponent(original)
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: H5File::flush
@@ -187,8 +191,8 @@ bool H5File::isHdf5(const char* name)
//--------------------------------------------------------------------------
// Function: H5File::isHdf5
///\brief This is an overloaded member function, provided for convenience.
/// It takes an \c std::string for \a name.
///\param name - IN: Name of the file - \c std::string
/// It takes an \c H5std_string for \a name.
///\param name - IN: Name of the file - \c H5std_string
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
bool H5File::isHdf5(const H5std_string& name )
@@ -227,8 +231,8 @@ void H5File::openFile(const char* name, unsigned int flags, const FileAccPropLis
//--------------------------------------------------------------------------
// Function: H5File::openFile
///\brief This is an overloaded member function, provided for convenience.
/// It takes an \c std::string for \a name.
///\param name - IN: Name of the file - \c std::string
/// It takes an \c H5std_string for \a name.
///\param name - IN: Name of the file - \c H5std_string
///\param flags - IN: File access flags
///\param access_plist - IN: File access property list. Default to
/// FileAccPropList::DEFAULT
@@ -374,9 +378,9 @@ hssize_t H5File::getFreeSpace() const
/// Multiple object types can be combined with the logical OR operator (|).
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
int H5File::getObjCount(unsigned types) const
ssize_t H5File::getObjCount(unsigned types) const
{
int num_objs = H5Fget_obj_count(id, types);
ssize_t num_objs = H5Fget_obj_count(id, types);
if( num_objs < 0 )
{
throw FileIException("H5File::getObjCount", "H5Fget_obj_count failed");
@@ -393,9 +397,9 @@ int H5File::getObjCount(unsigned types) const
///\exception H5::FileIException
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
int H5File::getObjCount() const
ssize_t H5File::getObjCount() const
{
int num_objs = H5Fget_obj_count(id, H5F_OBJ_ALL);
ssize_t num_objs = H5Fget_obj_count(id, H5F_OBJ_ALL);
if( num_objs < 0 )
{
throw FileIException("H5File::getObjCount", "H5Fget_obj_count failed");
@@ -428,9 +432,9 @@ int H5File::getObjCount() const
// Notes: will do the overload for this one after hearing from Quincey???
// Programmer Binh-Minh Ribler - May 2004
//--------------------------------------------------------------------------
void H5File::getObjIDs(unsigned types, int max_objs, hid_t *oid_list) const
void H5File::getObjIDs(unsigned types, size_t max_objs, hid_t *oid_list) const
{
herr_t ret_value = H5Fget_obj_ids(id, types, max_objs, oid_list);
ssize_t ret_value = H5Fget_obj_ids(id, types, max_objs, oid_list);
if( ret_value < 0 )
{
throw FileIException("H5File::getObjIDs", "H5Fget_obj_ids failed");
@@ -502,60 +506,14 @@ H5std_string H5File::getFileName() const
}
}
//--------------------------------------------------------------------------
// Function: H5File::Reference
///\brief Important!!! - This functions does not work correctly, it
/// will be removed in the near future. Please use
/// H5File::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* H5File::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
{
try {
return(p_reference(name, dataspace.getId(), ref_type));
}
catch (IdComponentException E) {
throw FileIException("H5File::Reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: H5File::Reference
///\brief Important!!! - This functions does not work correctly, it
/// will be removed in the near future. Please use similar
/// H5File::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* H5File::Reference(const char* name) const
{
try {
return(p_reference(name, -1, H5R_OBJECT));
}
catch (IdComponentException E) {
throw FileIException("H5File::Reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: H5File::Reference
///\brief Important!!! - This functions does not work correctly, it
/// will be removed in the near future. Please use similar
/// H5File::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* H5File::Reference(const H5std_string& name) const
{
return(Reference(name.c_str()));
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
// Function: H5File::getObjType
///\brief Retrieves the type of object that an object reference points to.
///\param ref - IN: Reference to query
///\param ref_type - IN: Type of reference, valid values are:
/// \li \c H5R_OBJECT \tReference is an object reference.
/// \li \c H5R_DATASET_REGION \tReference is a dataset region reference.
/// \li \c H5R_OBJECT - Reference is an object reference
/// \li \c H5R_DATASET_REGION - Reference is a dataset region reference
///\return Object type, which can be one of the following:
/// \li \c H5G_LINK - Object is a symbolic link.
/// \li \c H5G_GROUP - Object is a group.
@@ -616,6 +574,134 @@ hsize_t H5File::getFileSize() const
return (file_size);
}
//--------------------------------------------------------------------------
// Function: H5File::p_reference (protected)
// Purpose Creates a reference to an HDF5 object or a dataset region.
// Parameters
// name - IN: Name of the object to be referenced
// dataspace - IN: Dataspace with selection
// ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5File::p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const
{
herr_t ret_value = H5Rcreate(ref, getId(), name, ref_type, space_id);
if (ret_value < 0)
{
throw IdComponentException("", "H5Rcreate failed");
}
}
//--------------------------------------------------------------------------
// Function: H5File::reference
///\brief Creates a reference to an HDF5 object or a dataset region.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced
///\param dataspace - IN: Dataspace with selection
///\param ref_type - IN: Type of reference to query, valid values are:
/// \li \c H5R_OBJECT - Reference is an object reference
/// \li \c H5R_DATASET_REGION - Reference is a dataset region
/// reference - this is the default
///\exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5File::reference(void* ref, const char* name, const DataSpace& dataspace, H5R_type_t ref_type) const
{
try {
p_reference(ref, name, dataspace.getId(), ref_type);
}
catch (IdComponentException E) {
throw IdComponentException("H5File::reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: H5File::reference
///\brief This is an overloaded function, provided for your convenience.
/// It differs from the above function in that it only creates
/// a reference to an HDF5 object, not to a dataset region.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced - \c char pointer
///\exception H5::IdComponentException
///\par Description
// This function passes H5R_OBJECT and -1 to the protected
// function for it to pass to the C API H5Rcreate
// to create a reference to the named object.
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5File::reference(void* ref, const char* name) const
{
try {
p_reference(ref, name, -1, H5R_OBJECT);
}
catch (IdComponentException E) {
throw IdComponentException("H5File::reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: H5File::reference
///\brief This is an overloaded function, provided for your convenience.
/// It differs from the above function in that it takes an
/// \c H5std_string for the object's name.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced - \c H5std_string
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5File::reference(void* ref, const H5std_string& name) const
{
reference(ref, name.c_str());
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
// Function: H5File::p_get_obj_type (protected)
// Purpose Retrieves the type of object that an object reference points to.
// Parameters
// ref - IN: Reference to query
// ref_type - IN: Type of reference to query
// Return An object type, which can be one of the following:
// H5G_LINK Object is a symbolic link.
// H5G_GROUP Object is a group.
// H5G_DATASET Object is a dataset.
// H5G_TYPE Object is a named datatype
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
H5G_obj_t H5File::p_get_obj_type(void *ref, H5R_type_t ref_type) const
{
H5G_obj_t obj_type = H5Rget_obj_type1(getId(), ref_type, ref);
if (obj_type == H5G_UNKNOWN)
{
throw IdComponentException("", "H5Rget_obj_type failed");
}
return(obj_type);
}
#endif /* H5_NO_DEPRECATED_SYMBOLS */
//--------------------------------------------------------------------------
// Function: H5File::p_get_region (protected)
// Purpose Retrieves a dataspace with the region pointed to selected.
// Parameters
// ref_type - IN: Type of reference to get region of - default
// to H5R_DATASET_REGION
// ref - IN: Reference to get region of
// Return Dataspace id
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
hid_t H5File::p_get_region(void *ref, H5R_type_t ref_type) const
{
hid_t space_id = H5Rget_region(getId(), ref_type, ref);
if (space_id < 0)
{
throw IdComponentException("", "H5Rget_region failed");
}
return(space_id);
}
//--------------------------------------------------------------------------
// Function: H5File::getLocId
// Purpose: Get the id of this file
@@ -629,6 +715,47 @@ hid_t H5File::getLocId() const
return( getId() );
}
//--------------------------------------------------------------------------
// Function: H5File::getId
// Purpose: Get the id of this attribute
// Modification:
// May 2008 - BMR
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t H5File::getId() const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: H5File::p_setId
///\brief Sets the identifier of this object to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void H5File::p_setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception E) {
throw FileIException("H5File::p_setId", E.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
}
//--------------------------------------------------------------------------
// Function: H5File::close
///\brief Closes this HDF5 file.
@@ -645,7 +772,7 @@ void H5File::close()
{
throw FileIException("H5File::close", "H5Fclose failed");
}
// reset the id because the file that it represents is now closed
// reset the id
id = 0;
}
}
@@ -685,8 +812,7 @@ H5File::~H5File()
{
try {
close();
}
catch (Exception close_error) {
} catch (Exception close_error) {
cerr << "H5File::~H5File - " << close_error.getDetailMsg() << endl;
}
}

View File

@@ -60,12 +60,12 @@ class H5_DLLCPP H5File : public IdComponent, public CommonFG {
// Returns the number of opened object IDs (files, datasets, groups
// and datatypes) in the same file.
int getObjCount(unsigned types) const;
int getObjCount() const;
ssize_t getObjCount(unsigned types) const;
ssize_t getObjCount() const;
// Retrieves a list of opened object IDs (files, datasets, groups
// and datatypes) in the same file.
void getObjIDs(unsigned types, int max_objs, hid_t *oid_list) const;
void getObjIDs(unsigned types, size_t max_objs, hid_t *oid_list) const;
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Retrieves the type of object that an object reference points to.
@@ -89,13 +89,12 @@ class H5_DLLCPP H5File : public IdComponent, public CommonFG {
// Creates a reference to a named HDF5 object or to a dataset region
// in this object.
void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete
void reference(void* ref, const char* name, const DataSpace& dataspace,
H5R_type_t ref_type = H5R_DATASET_REGION) const;
void reference(void* ref, const char* name) const;
void reference(void* ref, const H5std_string& name) const;
// Creates a reference to a named Hdf5 object in this object.
void* Reference(const char* name) const; // will be obsolete
void* Reference(const H5std_string& name) const; // will be obsolete
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("H5File"); }
// Throw file exception.
@@ -110,14 +109,38 @@ class H5_DLLCPP H5File : public IdComponent, public CommonFG {
// Copy constructor: makes a copy of the original H5File object.
H5File(const H5File& original);
// Gets the HDF5 file id.
virtual hid_t getId() const;
// H5File destructor.
virtual ~H5File();
private:
hid_t id; // HDF5 file id
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// This function is private and contains common code between the
// constructors taking a string or a char*
void p_get_file( const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist );
// Creates a reference to an HDF5 object or a dataset region.
void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const;
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Retrieves the type of object that an object reference points to.
H5G_obj_t p_get_obj_type(void *ref, H5R_type_t ref_type) const;
#endif /* H5_NO_DEPRECATED_SYMBOLS */
// Retrieves a dataspace with the region pointed to selected.
hid_t p_get_region(void *ref, H5R_type_t ref_type) const;
protected:
// Sets the HDF5 file id.
virtual void p_setId(const hid_t new_id);
#endif // DOXYGEN_SHOULD_SKIP_THIS
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -53,7 +53,7 @@ class H5_DLLCPP FloatType : public AtomType {
// Sets the mantissa normalization of a floating-point datatype.
void setNorm( H5T_norm_t norm ) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("FloatType"); }
// Default constructor

View File

@@ -33,6 +33,7 @@
#include "H5DataSpace.h"
#include "H5DataSet.h"
#include "H5CommonFG.h"
#include "H5Attribute.h"
#include "H5Group.h"
#include "H5File.h"
#include "H5Alltypes.h"
@@ -50,7 +51,7 @@ namespace H5 {
///\brief Default constructor: creates a stub Group.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group::Group() : H5Object() {}
Group::Group() : H5Object(), id(0) {}
//--------------------------------------------------------------------------
// Function: Group copy constructor
@@ -58,7 +59,11 @@ Group::Group() : H5Object() {}
///\param original - IN: Original group to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group::Group( const Group& original ) : H5Object( original ) {}
Group::Group(const Group& original) : H5Object(original)
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: Group::getLocId
@@ -74,70 +79,72 @@ hid_t Group::getLocId() const
//--------------------------------------------------------------------------
// Function: Group overloaded constructor
///\brief Creates a Group object using the id of an existing group.
///\param group_id - IN: Id of an existing group
///\param existing_id - IN: Id of an existing group
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Group::Group( const hid_t group_id ) : H5Object( group_id ) {}
Group::Group(const hid_t existing_id) : H5Object()
{
id = existing_id;
}
//--------------------------------------------------------------------------
// Function: Group overload constructor - dereference
///\brief Given a reference to some object, returns that group
/// obj - IN: Location reference object is in
///\brief Given a reference, ref, to an hdf5 group, creates a Group object
///\param obj - IN: Specifying location referenced object is in
///\param ref - IN: Reference pointer
///\parDescription
/// \c obj can be DataSet, Group, H5File, or named DataType, that
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::ReferenceException
///\par Description
/// \c obj can be DataSet, Group, or named DataType, that
/// is a datatype that has been named by DataType::commit.
// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
Group::Group(IdComponent& obj, void* ref) : H5Object()
Group::Group(H5Object& obj, const void* ref, H5R_type_t ref_type) : H5Object()
{
IdComponent::dereference(obj, ref);
try {
id = p_dereference(obj.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("Group constructor - located by an H5Object",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: Group::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// Group::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
// Function: Group overload constructor - dereference
///\brief Given a reference, ref, to an hdf5 group, creates a Group object
///\param h5file - IN: Location referenced object is in
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
void* Group::Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type) const
Group::Group(H5File& h5file, const void* ref, H5R_type_t ref_type) : H5Object()
{
try {
return(p_reference(name, dataspace.getId(), ref_type));
}
catch (IdComponentException E) {
throw GroupIException("Group::Reference", E.getDetailMsg());
}
try {
id = p_dereference(h5file.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("Group constructor - located by an H5File",
deref_error.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: Group::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// Group::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
// Function: Group overload constructor - dereference
///\brief Given a reference, ref, to an hdf5 group, creates a Group object
///\param attr - IN: Specifying location where the referenced object is in
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type - default to H5R_OBJECT
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
void* Group::Reference(const char* name) const
Group::Group(Attribute& attr, const void* ref, H5R_type_t ref_type) : H5Object()
{
try {
return(p_reference(name, -1, H5R_OBJECT));
}
catch (IdComponentException E) {
throw GroupIException("Group::Reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: Group::Reference
///\brief Important!!! - This functions may not work correctly, it
/// will be removed in the near future. Please use similar
/// Group::reference instead!
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* Group::Reference(const H5std_string& name) const
{
return(Reference(name.c_str()));
try {
id = p_dereference(attr.getId(), ref, ref_type);
} catch (ReferenceException deref_error) {
throw ReferenceException("Group constructor - located by an Attribute",
deref_error.getDetailMsg());
}
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
@@ -146,13 +153,13 @@ void* Group::Reference(const H5std_string& name) const
///\brief Retrieves the type of object that an object reference points to.
///\param ref - IN: Reference to query
///\param ref_type - IN: Type of reference to query, valid values are:
/// \li \c H5R_OBJECT \tReference is an object reference.
/// \li \c H5R_DATASET_REGION \tReference is a dataset region reference.
/// \li \c H5R_OBJECT - Reference is an object reference.
/// \li \c H5R_DATASET_REGION - Reference is a dataset region reference.
///\return An object type, which can be one of the following:
/// H5G_LINK Object is a symbolic link.
/// H5G_GROUP Object is a group.
/// H5G_DATASET Object is a dataset.
/// H5G_TYPE Object is a named datatype
/// \li \c H5G_LINK (0) - Object is a symbolic link.
/// \li \c H5G_GROUP (1) - Object is a group.
/// \li \c H5G_DATASET (2) - Object is a dataset.
/// \li \c H5G_TYPE (3) - Object is a named datatype
///\exception H5::GroupIException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
@@ -187,6 +194,47 @@ DataSpace Group::getRegion(void *ref, H5R_type_t ref_type) const
}
}
//--------------------------------------------------------------------------
// Function: Group::getId
// Purpose: Get the id of this attribute
// Modification:
// May 2008 - BMR
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t Group::getId() const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: Group::p_setId
///\brief Sets the identifier of this object to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void Group::p_setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception close_error) {
throw GroupIException("Group::p_setId", close_error.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
}
//--------------------------------------------------------------------------
// Function: Group::close
///\brief Closes this group.
@@ -203,7 +251,7 @@ void Group::close()
{
throw GroupIException("Group::close", "H5Gclose failed");
}
// reset the id because the group that it represents is now closed
// reset the id
id = 0;
}
}

View File

@@ -34,15 +34,7 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
// Retrieves a dataspace with the region pointed to selected.
DataSpace getRegion(void *ref, H5R_type_t ref_type = H5R_DATASET_REGION) const;
// Creates a reference to a named Hdf5 object or to a dataset region
// in this object.
void* Reference(const char* name, DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) const; // will be obsolete
// Creates a reference to a named Hdf5 object in this object.
void* Reference(const char* name) const; // will be obsolete
void* Reference(const H5std_string& name) const; // will be obsolete
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("Group"); }
// Throw group exception.
@@ -52,7 +44,9 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
virtual hid_t getLocId() const;
// Creates a group by way of dereference.
Group(IdComponent& obj, void* ref);
Group(H5Object& obj, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
Group(H5File& h5file, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
Group(Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
// default constructor
Group();
@@ -60,12 +54,21 @@ class H5_DLLCPP Group : public H5Object, public CommonFG {
// Copy constructor: makes a copy of the original object
Group(const Group& original);
// Gets the group id.
virtual hid_t getId() const;
// Destructor
virtual ~Group();
// Creates a copy of an existing group using its id.
Group( const hid_t group_id );
private:
hid_t id; // HDF5 group id
protected:
// Sets the group id.
virtual void p_setId(const hid_t new_id);
};
#ifndef H5_NO_NAMESPACE
}

View File

@@ -13,10 +13,11 @@
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifdef H5_VMS
#ifdef OLD_HEADER_FILENAME
#include <iostream.h>
#else
#include <iostream>
#endif /*H5_VMS*/
#endif
#include <string>
#include "H5Include.h"
@@ -36,7 +37,7 @@ namespace H5 {
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
IdComponent::IdComponent(const hid_t h5_id) : id(h5_id) {}
IdComponent::IdComponent(const hid_t h5_id) {}
//--------------------------------------------------------------------------
// Function: IdComponent copy constructor
@@ -44,11 +45,7 @@ IdComponent::IdComponent(const hid_t h5_id) : id(h5_id) {}
///\param original - IN: IdComponent instance to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
IdComponent::IdComponent( const IdComponent& original )
{
id = original.id;
incRefCount(); // increment number of references to this id
}
IdComponent::IdComponent( const IdComponent& original ) {}
//--------------------------------------------------------------------------
// Function: IdComponent::incRefCount
@@ -69,7 +66,7 @@ void IdComponent::incRefCount(const hid_t obj_id) const
//--------------------------------------------------------------------------
void IdComponent::incRefCount() const
{
incRefCount(id);
incRefCount(getId());
}
//--------------------------------------------------------------------------
@@ -99,7 +96,7 @@ void IdComponent::decRefCount(const hid_t obj_id) const
//--------------------------------------------------------------------------
void IdComponent::decRefCount() const
{
decRefCount(id);
decRefCount(getId());
}
//--------------------------------------------------------------------------
@@ -128,13 +125,13 @@ int IdComponent::getCounter(const hid_t obj_id) const
//--------------------------------------------------------------------------
int IdComponent::getCounter() const
{
return (getCounter(id));
return (getCounter(getId()));
}
//--------------------------------------------------------------------------
// Function: hdfObjectType
///\brief Given an id, returns the type of the object.
///return a valid HDF object type, which may be one of the following:
///\return a valid HDF object type, which may be one of the following:
/// \li \c H5I_FILE
/// \li \c H5I_GROUP
/// \li \c H5I_DATATYPE
@@ -166,6 +163,10 @@ H5I_type_t IdComponent::getHDFObjType(const hid_t obj_id)
// copy the id from rhs to this object, and increment the
// reference counter of the id to indicate that another object
// is referencing that id.
// Modification
// 2010/5/9 - BMR
// Removed close() and incRefCount() because setId/p_setId takes
// care of close() and setId takes care incRefCount().
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
IdComponent& IdComponent::operator=( const IdComponent& rhs )
@@ -173,18 +174,14 @@ IdComponent& IdComponent::operator=( const IdComponent& rhs )
if (this != &rhs)
{
// handling references to this id
try {
close();
try {
setId(rhs.getId());
// Note: a = b, so there are two objects with the same hdf5 id
// that's why incRefCount is needed, and it is called by setId
}
catch (Exception close_error) {
throw FileIException(inMemFunc("operator="), close_error.getDetailMsg());
}
// copy the data members from the rhs object
id = rhs.id;
// increment the reference counter
incRefCount();
}
return *this;
}
@@ -196,39 +193,29 @@ IdComponent& IdComponent::operator=( const IdComponent& rhs )
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// p_setId ensures that the current valid id of this object is
// properly closed before resetting the object's id to the new id.
// Programmer Binh-Minh Ribler - 2000
// Modification
// 2008/7/23 - BMR
// Changed all subclasses' setId to p_setId and put back setId
// here. p_setId is used in the library where the id provided
// by a C API passed on to user's application in the form of a
// C++ API object, which will be destroyed properly, and so
// p_setId does not call incRefCount. On the other hand, the
// public version setId is used by other applications, in which
// the id passed to setId already has a reference count, so setId
// must call incRefCount.
//--------------------------------------------------------------------------
void IdComponent::setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception close_error) {
throw IdComponentException(inMemFunc("copy"), close_error.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
// set to new_id
p_setId(new_id);
// increment the reference counter of the new id
incRefCount();
}
//--------------------------------------------------------------------------
// Function: IdComponent::getId
///\brief Returns the id of this object
///\return HDF5 id
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
hid_t IdComponent::getId () const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: IdComponent destructor
///\brief Noop destructor.
@@ -273,7 +260,7 @@ H5std_string IdComponent::inMemFunc(const char* func_name) const
///\brief Default constructor.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
IdComponent::IdComponent() : id(-1) {}
IdComponent::IdComponent() {}
//--------------------------------------------------------------------------
// Function: IdComponent::p_get_file_name (protected)
@@ -287,8 +274,10 @@ IdComponent::IdComponent() : id(-1) {}
//--------------------------------------------------------------------------
H5std_string IdComponent::p_get_file_name() const
{
hid_t temp_id = getId();
// Preliminary call to H5Fget_name to get the length of the file name
ssize_t name_size = H5Fget_name(id, NULL, 0);
ssize_t name_size = H5Fget_name(temp_id, NULL, 0);
// If H5Aget_name returns a negative value, raise an exception,
if( name_size < 0 )
@@ -298,7 +287,7 @@ H5std_string IdComponent::p_get_file_name() const
// Call H5Fget_name again to get the actual file name
char* name_C = new char[name_size+1]; // temporary C-string for C API
name_size = H5Fget_name(id, name_C, name_size+1);
name_size = H5Fget_name(temp_id, name_C, name_size+1);
// Check for failure again
if( name_size < 0 )
@@ -312,178 +301,6 @@ H5std_string IdComponent::p_get_file_name() const
return(file_name);
}
//--------------------------------------------------------------------------
// Function: IdComponent::p_reference (protected)
// Purpose Creates a reference to an HDF5 object or a dataset region.
// Parameters
// name - IN: Name of the object to be referenced
// dataspace - IN: Dataspace with selection
// ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void IdComponent::p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const
{
herr_t ret_value = H5Rcreate(ref, id, name, ref_type, space_id);
if (ret_value < 0)
{
throw IdComponentException("", "H5Rcreate failed");
}
}
//--------------------------------------------------------------------------
// Function: IdComponent::reference
///\brief Creates a reference to an HDF5 object or a dataset region.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced
///\param dataspace - IN: Dataspace with selection
///\param ref_type - IN: Type of reference to query, valid values are:
/// \li \c H5R_OBJECT \tReference is an object reference.
/// \li \c H5R_DATASET_REGION \tReference is a dataset region
/// reference. - this is the default
///\exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void IdComponent::reference(void* ref, const char* name, const DataSpace& dataspace, H5R_type_t ref_type) const
{
try {
p_reference(ref, name, dataspace.getId(), ref_type);
}
catch (IdComponentException E) {
throw IdComponentException("IdComponent::reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: IdComponent::reference
///\brief This is an overloaded function, provided for your convenience.
/// It differs from the above function in that it only creates
/// a reference to an HDF5 object, not to a dataset region.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced - \c char pointer
///\exception H5::IdComponentException
///\par Description
// This function passes H5R_OBJECT and -1 to the protected
// function for it to pass to the C API H5Rcreate
// to create a reference to the named object.
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void IdComponent::reference(void* ref, const char* name) const
{
try {
p_reference(ref, name, -1, H5R_OBJECT);
}
catch (IdComponentException E) {
throw IdComponentException("IdComponent::reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: IdComponent::reference
///\brief This is an overloaded function, provided for your convenience.
/// It differs from the above function in that it takes an
/// \c std::string for the object's name.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced - \c std::string
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void IdComponent::reference(void* ref, const H5std_string& name) const
{
reference(ref, name.c_str());
}
//--------------------------------------------------------------------------
// Function: IdComponent::p_reference (protected)
// Purpose Creates a reference to an HDF5 object or a dataset region.
// Parameters
// name - IN: Name of the object to be referenced
// dataspace - IN: Dataspace with selection
// ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
// Return A reference
// Exception H5::IdComponentException
// Notes This function is incorrect, and will be removed in the near
// future after notifying users of the new APIs ::reference's.
// BMR - Oct 8, 2006
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void* IdComponent::p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const
{
hobj_ref_t ref;
herr_t ret_value = H5Rcreate(&ref, id, name, ref_type, space_id);
if (ret_value < 0)
{
throw IdComponentException("", "H5Rcreate failed");
}
return (reinterpret_cast<void*>(ref));
}
//--------------------------------------------------------------------------
// Function: IdComponent::dereference
// Purpose Opens the HDF5 object referenced.
// Parameters
// obj - IN: Dataset reference object is in or location of
// object that the dataset is located within.
// ref - IN: Reference pointer
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - Oct, 2006
//--------------------------------------------------------------------------
void IdComponent::dereference(IdComponent& obj, void* ref)
{
id = H5Rdereference(obj.getId(), H5R_OBJECT, ref);
if (id < 0)
{
throw IdComponentException("", "H5Rdereference failed");
}
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
// Function: IdComponent::p_get_obj_type (protected)
// Purpose Retrieves the type of object that an object reference points to.
// Parameters
// ref - IN: Reference to query
// ref_type - IN: Type of reference to query
// Return An object type, which can be one of the following:
// H5G_LINK Object is a symbolic link.
// H5G_GROUP Object is a group.
// H5G_DATASET Object is a dataset.
// H5G_TYPE Object is a named datatype
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
H5G_obj_t IdComponent::p_get_obj_type(void *ref, H5R_type_t ref_type) const
{
H5G_obj_t obj_type = H5Rget_obj_type1(id, ref_type, ref);
if (obj_type == H5G_UNKNOWN)
{
throw IdComponentException("", "H5Rget_obj_type failed");
}
return(obj_type);
}
#endif /* H5_NO_DEPRECATED_SYMBOLS */
//--------------------------------------------------------------------------
// Function: IdComponent::p_get_region (protected)
// Purpose Retrieves a dataspace with the region pointed to selected.
// Parameters
// ref_type - IN: Type of reference to get region of - default
// to H5R_DATASET_REGION
// ref - IN: Reference to get region of
// Return Dataspace id
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
hid_t IdComponent::p_get_region(void *ref, H5R_type_t ref_type) const
{
hid_t space_id = H5Rget_region(id, ref_type, ref);
if (space_id < 0)
{
throw IdComponentException("", "H5Rget_region failed");
}
return(space_id);
}
//
// Local functions used in this class
//
@@ -495,7 +312,7 @@ hid_t IdComponent::p_get_region(void *ref, H5R_type_t ref_type) const
// Return true if id is valid, false, otherwise
// Programmer Binh-Minh Ribler - May, 2005
//--------------------------------------------------------------------------
bool IdComponent::p_valid_id(const hid_t obj_id) const
bool IdComponent::p_valid_id(const hid_t obj_id)
{
H5I_type_t id_type = H5Iget_type(obj_id);
if (id_type <= H5I_BADID || id_type >= H5I_NTYPES)

View File

@@ -44,13 +44,8 @@ class H5_DLLCPP IdComponent {
// Assignment operator.
IdComponent& operator=( const IdComponent& rhs );
void reference(void* ref, const char* name, const DataSpace& dataspace,
H5R_type_t ref_type = H5R_DATASET_REGION) const;
void reference(void* ref, const char* name) const;
void reference(void* ref, const H5std_string& name) const;
// Open a referenced HDF5 object.
void dereference(IdComponent& obj, void* ref);
// Gets the identifier of this object.
virtual hid_t getId () const = 0;
// Sets the identifier of this object to a new value.
void setId(const hid_t new_id);
@@ -61,9 +56,6 @@ class H5_DLLCPP IdComponent {
// Copy constructor: makes copy of the original IdComponent object.
IdComponent( const IdComponent& original );
// Gets the value of IdComponent's data member.
virtual hid_t getId () const;
#ifndef DOXYGEN_SHOULD_SKIP_THIS
// Pure virtual function for there are various H5*close for the
// subclasses.
@@ -73,7 +65,7 @@ class H5_DLLCPP IdComponent {
// <class-name> is returned by fromClass().
H5std_string inMemFunc(const char* func_name) const;
// Returns this class name.
///\brief Returns this class name.
virtual H5std_string fromClass() const { return("IdComponent");}
#endif // DOXYGEN_SHOULD_SKIP_THIS
@@ -83,7 +75,6 @@ class H5_DLLCPP IdComponent {
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
hid_t id; // HDF5 object id
// Default constructor.
IdComponent();
@@ -91,23 +82,12 @@ class H5_DLLCPP IdComponent {
// Gets the name of the file, in which an HDF5 object belongs.
H5std_string p_get_file_name() const;
// Gets the id of the H5 file in which the given object is located.
hid_t p_get_file_id();
// Creates a reference to an HDF5 object or a dataset region.
void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const;
void* p_reference(const char* name, hid_t space_id, H5R_type_t ref_type) const; // will be removed
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Retrieves the type of object that an object reference points to.
H5G_obj_t p_get_obj_type(void *ref, H5R_type_t ref_type) const;
#endif /* H5_NO_DEPRECATED_SYMBOLS */
// Retrieves a dataspace with the region pointed to selected.
hid_t p_get_region(void *ref, H5R_type_t ref_type) const;
// Verifies that the given id is valid.
bool p_valid_id(const hid_t obj_id) const;
static bool p_valid_id(const hid_t obj_id);
// Sets the identifier of this object to a new value. - this one
// doesn't increment reference count
virtual void p_setId(const hid_t new_id) = 0;
#endif // DOXYGEN_SHOULD_SKIP_THIS

View File

@@ -35,7 +35,7 @@ class H5_DLLCPP IntType : public AtomType {
// Sets the sign proprety for an integer type.
void setSign( H5T_sign_t sign ) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("IntType"); }
// Default constructor

View File

@@ -106,7 +106,7 @@ void H5Library::getLibVersion( unsigned& majnum, unsigned& minnum, unsigned& rel
///\par Description
/// For information about library version, please refer to
/// the C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-VersCheck
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5.html#Library-VersCheck
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void H5Library::checkVersion(unsigned majnum, unsigned minnum, unsigned relnum)
@@ -161,7 +161,7 @@ void H5Library::garbageCollect()
/// Setting a value of -1 for a limit means no limit of that type.
/// For more information on free list limits, please refer to C
/// layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5.html#Library-SetFreeListLimits
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5.html#Library-SetFreeListLimits
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5Library::setFreeListLimits(int reg_global_lim, int reg_list_lim,

View File

@@ -21,10 +21,15 @@
#include "H5PropList.h"
#include "H5Object.h"
#include "H5DcreatProp.h"
#include "H5DxferProp.h"
#include "H5FaccProp.h"
#include "H5FcreatProp.h"
#include "H5CommonFG.h"
#include "H5DataType.h"
#include "H5DataSpace.h"
#include "H5AbstractDs.h"
#include "H5File.h"
#include "H5DataSet.h"
#include "H5Attribute.h"
#ifndef H5_NO_NAMESPACE
@@ -103,7 +108,7 @@ Attribute H5Object::createAttribute( const char* name, const DataType& data_type
hid_t type_id = data_type.getId();
hid_t space_id = data_space.getId();
hid_t plist_id = create_plist.getId();
hid_t attr_id = H5Acreate2(id, name, type_id, space_id, plist_id, H5P_DEFAULT );
hid_t attr_id = H5Acreate2(getId(), name, type_id, space_id, plist_id, H5P_DEFAULT );
// If the attribute id is valid, create and return the Attribute object
if( attr_id > 0 )
@@ -119,7 +124,7 @@ Attribute H5Object::createAttribute( const char* name, const DataType& data_type
// Function: H5Object::createAttribute
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes
/// a reference to an \c std::string for \a name.
/// a reference to an \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Attribute H5Object::createAttribute( const H5std_string& name, const DataType& data_type, const DataSpace& data_space, const PropList& create_plist ) const
@@ -137,7 +142,7 @@ Attribute H5Object::createAttribute( const H5std_string& name, const DataType& d
//--------------------------------------------------------------------------
Attribute H5Object::openAttribute( const char* name ) const
{
hid_t attr_id = H5Aopen( id, name, H5P_DEFAULT );
hid_t attr_id = H5Aopen(getId(), name, H5P_DEFAULT);
if( attr_id > 0 )
{
Attribute attr( attr_id );
@@ -153,7 +158,7 @@ Attribute H5Object::openAttribute( const char* name ) const
// Function: H5Object::openAttribute
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes
/// a reference to an \c std::string for \a name.
/// a reference to an \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Attribute H5Object::openAttribute( const H5std_string& name ) const
@@ -171,7 +176,8 @@ Attribute H5Object::openAttribute( const H5std_string& name ) const
//--------------------------------------------------------------------------
Attribute H5Object::openAttribute( const unsigned int idx ) const
{
hid_t attr_id = H5Aopen_by_idx(id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)idx, H5P_DEFAULT, H5P_DEFAULT);
hid_t attr_id = H5Aopen_by_idx(getId(), ".", H5_INDEX_CRT_ORDER,
H5_ITER_INC, (hsize_t)idx, H5P_DEFAULT, H5P_DEFAULT);
if( attr_id > 0 )
{
Attribute attr( attr_id );
@@ -188,15 +194,17 @@ Attribute H5Object::openAttribute( const unsigned int idx ) const
///\brief Iterates a user's function over all the attributes of an H5
/// object, which may be a group, dataset or named datatype.
///\param user_op - IN: User's function to operate on each attribute
///\param idx - IN/OUT: Starting (IN) and ending (OUT) attribute indices
///\param _idx - IN/OUT: Starting (IN) and ending (OUT) attribute indices
///\param op_data - IN: User's data to pass to user's operator function
///\return Returned value of the last operator if it was non-zero, or
/// zero if all attributes were processed
///\exception H5::AttributeIException
///\par Description
/// The signature of user_op is
/// void (*)(H5::H5Object&, H5std_string, void*).
/// For information, please refer to the C layer Reference Manual
/// at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5A.html#Annot-Iterate
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5A.html#Annot-Iterate
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
int H5Object::iterateAttrs( attr_operator_t user_op, unsigned *_idx, void *op_data )
@@ -208,15 +216,17 @@ int H5Object::iterateAttrs( attr_operator_t user_op, unsigned *_idx, void *op_da
userData->object = this;
// call the C library routine H5Aiterate2 to iterate the attributes
hsize_t idx = (hsize_t)*_idx;
int ret_value = H5Aiterate2(id, H5_INDEX_NAME, H5_ITER_INC, &idx, userAttrOpWrpr, (void *) userData);
hsize_t idx = _idx ? (hsize_t)*_idx : 0;
int ret_value = H5Aiterate2(getId(), H5_INDEX_NAME, H5_ITER_INC, &idx,
userAttrOpWrpr, (void *) userData);
// release memory
delete userData;
if( ret_value >= 0 ) {
/* Pass back update index value to calling code */
*_idx = (unsigned)idx;
if (_idx)
*_idx = (unsigned)idx;
return( ret_value );
}
@@ -235,7 +245,7 @@ int H5Object::getNumAttrs() const
{
H5O_info_t oinfo; /* Object info */
if(H5Oget_info(id, &oinfo) < 0)
if(H5Oget_info(getId(), &oinfo) < 0)
throw AttributeIException(inMemFunc("getNumAttrs"), "H5Oget_info failed");
else
return( (int)oinfo.num_attrs );
@@ -250,7 +260,7 @@ int H5Object::getNumAttrs() const
//--------------------------------------------------------------------------
void H5Object::removeAttr( const char* name ) const
{
herr_t ret_value = H5Adelete(id, name);
herr_t ret_value = H5Adelete(getId(), name);
if( ret_value < 0 )
throw AttributeIException(inMemFunc("removeAttr"), "H5Adelete failed");
}
@@ -259,7 +269,7 @@ void H5Object::removeAttr( const char* name ) const
// Function: H5Object::removeAttr
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes
/// a reference to an \c std::string for \a name.
/// a reference to an \c H5std_string for \a name.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void H5Object::removeAttr( const H5std_string& name ) const
@@ -277,7 +287,7 @@ void H5Object::removeAttr( const H5std_string& name ) const
//--------------------------------------------------------------------------
void H5Object::renameAttr(const char* oldname, const char* newname) const
{
herr_t ret_value = H5Arename(id, oldname, newname);
herr_t ret_value = H5Arename(getId(), oldname, newname);
if (ret_value < 0)
throw AttributeIException(inMemFunc("renameAttr"), "H5Arename failed");
}
@@ -286,7 +296,7 @@ void H5Object::renameAttr(const char* oldname, const char* newname) const
// Function: H5Object::renameAttr
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function in that it takes
/// a reference to an \c std::string for the names.
/// a reference to an \c H5std_string for the names.
// Programmer Binh-Minh Ribler - Mar, 2005
//--------------------------------------------------------------------------
void H5Object::renameAttr(const H5std_string& oldname, const H5std_string& newname) const
@@ -306,9 +316,9 @@ void H5Object::renameAttr(const H5std_string& oldname, const H5std_string& newna
/// This object is used to identify the file to be flushed.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void H5Object::flush(H5F_scope_t scope ) const
void H5Object::flush(H5F_scope_t scope) const
{
herr_t ret_value = H5Fflush( id, scope );
herr_t ret_value = H5Fflush(getId(), scope);
if( ret_value < 0 )
{
throw FileIException(inMemFunc("flush"), "H5Fflush failed");
@@ -332,6 +342,235 @@ H5std_string H5Object::getFileName() const
}
}
//--------------------------------------------------------------------------
// Function: H5Object::p_reference (protected)
// Purpose Creates a reference to an HDF5 object or a dataset region.
// Parameters
// name - IN: Name of the object to be referenced
// dataspace - IN: Dataspace with selection
// ref_type - IN: Type of reference; default to \c H5R_DATASET_REGION
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5Object::p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const
{
herr_t ret_value = H5Rcreate(ref, getId(), name, ref_type, space_id);
if (ret_value < 0)
{
throw IdComponentException("", "H5Rcreate failed");
}
}
//--------------------------------------------------------------------------
// Function: H5Object::reference
///\brief Creates a reference to an HDF5 object or a dataset region.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced
///\param dataspace - IN: Dataspace with selection
///\param ref_type - IN: Type of reference to query, valid values are:
/// \li \c H5R_OBJECT - Reference is an object reference.
/// \li \c H5R_DATASET_REGION - Reference is a dataset region
/// reference. - this is the default
///\exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5Object::reference(void* ref, const char* name, const DataSpace& dataspace, H5R_type_t ref_type) const
{
try {
p_reference(ref, name, dataspace.getId(), ref_type);
}
catch (IdComponentException E) {
throw IdComponentException("H5Object::reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: H5Object::reference
///\brief This is an overloaded function, provided for your convenience.
/// It differs from the above function in that it only creates
/// a reference to an HDF5 object, not to a dataset region.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced - \c char pointer
///\exception H5::IdComponentException
///\par Description
// This function passes H5R_OBJECT and -1 to the protected
// function for it to pass to the C API H5Rcreate
// to create a reference to the named object.
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5Object::reference(void* ref, const char* name) const
{
try {
p_reference(ref, name, -1, H5R_OBJECT);
}
catch (IdComponentException E) {
throw IdComponentException("H5Object::reference", E.getDetailMsg());
}
}
//--------------------------------------------------------------------------
// Function: H5Object::reference
///\brief This is an overloaded function, provided for your convenience.
/// It differs from the above function in that it takes an
/// \c H5std_string for the object's name.
///\param ref - IN: Reference pointer
///\param name - IN: Name of the object to be referenced - \c H5std_string
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
void H5Object::reference(void* ref, const H5std_string& name) const
{
reference(ref, name.c_str());
}
//--------------------------------------------------------------------------
// Function: H5Object::p_dereference (protected)
// Purpose Dereference a ref into an hdf5 object.
// Parameters
// loc_id - IN: An hdf5 identifier specifying the location of the
// referenced object
// ref - IN: Reference pointer
// ref_type - IN: Reference type
// Exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// May 2008 - BMR
// Moved from IdComponent.
//--------------------------------------------------------------------------
hid_t H5Object::p_dereference(hid_t loc_id, const void* ref, H5R_type_t ref_type)
{
hid_t temp_id;
temp_id = H5Rdereference(loc_id, ref_type, ref);
if (temp_id < 0)
{
throw ReferenceException("", "H5Rdereference failed");
}
// No failure, set id to the object
return(temp_id);
}
//--------------------------------------------------------------------------
// Function: H5Object::dereference
///\brief Dereferences a reference into an HDF5 object, given an HDF5 object.
///\param obj - IN: Object specifying the location of the referenced object
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// May, 2008
// Corrected missing parameters. - BMR
//--------------------------------------------------------------------------
void H5Object::dereference(H5Object& obj, const void* ref, H5R_type_t ref_type)
{
hid_t temp_id;
try {
temp_id = p_dereference(obj.getId(), ref, ref_type);
}
catch (ReferenceException E) {
throw ReferenceException("H5Object::dereference - located by object", E.getDetailMsg());
}
p_setId(temp_id);
}
//--------------------------------------------------------------------------
// Function: H5Object::dereference
///\brief Dereferences a reference into an HDF5 object, given an HDF5 file.
///\param h5file - IN: HDF5 file specifying the location of the referenced object
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// May, 2008
// Corrected missing parameters. - BMR
//--------------------------------------------------------------------------
void H5Object::dereference(H5File& h5file, const void* ref, H5R_type_t ref_type)
{
hid_t temp_id;
try {
temp_id = p_dereference(h5file.getId(), ref, ref_type);
}
catch (ReferenceException E) {
throw ReferenceException("H5Object::dereference - located by file", E.getDetailMsg());
}
p_setId(temp_id);
}
//--------------------------------------------------------------------------
// Function: H5Object::dereference
///\brief Dereferences a reference into an HDF5 object, given an attribute.
///\param attr - IN: Attribute specifying the location of the referenced object
///\param ref - IN: Reference pointer
///\param ref_type - IN: Reference type
///\exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// May, 2008
// Corrected missing parameters. - BMR
//--------------------------------------------------------------------------
void H5Object::dereference(Attribute& attr, const void* ref, H5R_type_t ref_type)
{
hid_t temp_id;
try {
temp_id = p_dereference(attr.getId(), ref, ref_type);
}
catch (ReferenceException E) {
throw ReferenceException("H5Object::dereference - located by attribute", E.getDetailMsg());
}
p_setId(temp_id);
}
#ifndef H5_NO_DEPRECATED_SYMBOLS
//--------------------------------------------------------------------------
// Function: H5Object::p_get_obj_type (protected)
// Purpose Retrieves the type of object that an object reference points to.
// Parameters
// ref - IN: Reference to query
// ref_type - IN: Type of reference to query
// Return An object type, which can be one of the following:
// H5G_LINK Object is a symbolic link.
// H5G_GROUP Object is a group.
// H5G_DATASET Object is a dataset.
// H5G_TYPE Object is a named datatype
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
H5G_obj_t H5Object::p_get_obj_type(void *ref, H5R_type_t ref_type) const
{
H5G_obj_t obj_type = H5Rget_obj_type1(getId(), ref_type, ref);
if (obj_type == H5G_UNKNOWN)
{
throw IdComponentException("", "H5Rget_obj_type failed");
}
return(obj_type);
}
#endif /* H5_NO_DEPRECATED_SYMBOLS */
//--------------------------------------------------------------------------
// Function: H5Object::p_get_region (protected)
// Purpose Retrieves a dataspace with the region pointed to selected.
// Parameters
// ref_type - IN: Type of reference to get region of - default
// to H5R_DATASET_REGION
// ref - IN: Reference to get region of
// Return Dataspace id
// Exception H5::IdComponentException
// Programmer Binh-Minh Ribler - May, 2004
//--------------------------------------------------------------------------
hid_t H5Object::p_get_region(void *ref, H5R_type_t ref_type) const
{
hid_t space_id = H5Rget_region(getId(), ref_type, ref);
if (space_id < 0)
{
throw IdComponentException("", "H5Rget_region failed");
}
return(space_id);
}
//--------------------------------------------------------------------------
// Function: H5Object destructor
///\brief Noop destructor.

View File

@@ -20,8 +20,7 @@
#include "H5Classes.h" // constains forward class declarations
// H5Object is a baseclass. It has these subclasses:
// Group, AbstractDs, and DataType.
// AbstractDs, in turn, has subclasses DataSet and Attribute.
// Group, DataSet, and DataType.
// DataType, in turn, has several specific datatypes as subclasses.
#ifndef H5_NO_NAMESPACE
@@ -80,6 +79,19 @@ class H5_DLLCPP H5Object : public IdComponent {
void renameAttr(const char* oldname, const char* newname) const;
void renameAttr(const H5std_string& oldname, const H5std_string& newname) const;
// Creates a reference to a named Hdf5 object or to a dataset region
// in this object.
void reference(void* ref, const char* name, const DataSpace& dataspace,
H5R_type_t ref_type = H5R_DATASET_REGION) const;
void reference(void* ref, const char* name) const;
void reference(void* ref, const H5std_string& name) const;
// Open a referenced HDF5 object whose location is specified by either
// a file, an HDF5 object, or an attribute.
void dereference(H5File& h5file, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
void dereference(H5Object& obj, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
void dereference(Attribute& attr, const void* ref, H5R_type_t ref_type = H5R_OBJECT);
// Copy constructor: makes copy of an H5Object object.
H5Object(const H5Object& original);
@@ -93,6 +105,24 @@ class H5_DLLCPP H5Object : public IdComponent {
// Creates a copy of an existing object giving the object id
H5Object( const hid_t object_id );
// Gets the id of the H5 file in which the given object is located.
hid_t p_get_file_id();
// Creates a reference to an HDF5 object or a dataset region.
void p_reference(void* ref, const char* name, hid_t space_id, H5R_type_t ref_type) const;
// Dereferences a ref into an hdf5 id.
hid_t p_dereference(hid_t loc_id, const void* ref, H5R_type_t ref_type);
#ifndef H5_NO_DEPRECATED_SYMBOLS
// Retrieves the type of object that an object reference points to.
H5G_obj_t p_get_obj_type(void *ref, H5R_type_t ref_type) const;
#endif /* H5_NO_DEPRECATED_SYMBOLS */
// Retrieves a dataspace with the region pointed to selected.
hid_t p_get_region(void *ref, H5R_type_t ref_type) const;
#endif // DOXYGEN_SHOULD_SKIP_THIS
}; /* end class H5Object */

View File

@@ -44,7 +44,10 @@ namespace H5 {
//--------------------------------------------------------------------------
PredType::PredType( const hid_t predtype_id ) : AtomType( predtype_id )
{
id = H5Tcopy(predtype_id);
if (predtype_id == H5CPP_EXITED)
id = predtype_id;
else
id = H5Tcopy(predtype_id);
}
//--------------------------------------------------------------------------
@@ -62,7 +65,8 @@ PredType::PredType() : AtomType() {}
//--------------------------------------------------------------------------
PredType::PredType( const PredType& original ) : AtomType( original ) {}
const PredType PredType::NotAtexit; // only for atexit/global dest. problem
// Flag to terminate HDF5 library in DataType::~DataType
const PredType PredType::AtExit(H5CPP_EXITED);
// Definition of pre-defined types
const PredType PredType::C_S1( H5T_C_S1 );
@@ -289,7 +293,6 @@ void PredType::commit( H5Object& loc, const H5std_string& name )
bool PredType::committed()
{
throw DataTypeIException("PredType::committed", "Error: Attempting to check for commit status on a predefined datatype." );
return (0);
}
#endif // DOXYGEN_SHOULD_SKIP_THIS

View File

@@ -26,9 +26,17 @@
namespace H5 {
#endif
/* This constant is defined for a workaround to eliminate memory leaks due to
the library being re-initiated when PredType destructors are invoked. A
PredType instant with H5CPP_EXITED as the value of its "id" is constructed
before the other PredType objects are created. At exit, when this special
PredType object is to be destructed, no HDF5 library function will be called
and the library will be terminated. -BMR, Mar 30, 2012 */
#define H5CPP_EXITED -3 // -3 is less likely to be used elsewhere
class H5_DLLCPP PredType : public AtomType {
public:
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("PredType"); }
// Makes a copy of the predefined type and stores the new
@@ -229,9 +237,10 @@ class H5_DLLCPP PredType : public AtomType {
#endif // DOXYGEN_SHOULD_SKIP_THIS
private:
// added this to work around the atexit/global destructor problem
// temporarily - it'll prevent the use of atexit to clean up
static const PredType NotAtexit; // not working yet
// Added this to work around the atexit/global destructor problem.
// It'll help to terminate the library after other PredType instances
// are closed. -BMR, Mar 30, 2012
static const PredType AtExit;
protected:
#ifndef DOXYGEN_SHOULD_SKIP_THIS

View File

@@ -25,6 +25,8 @@
#include "H5Exception.h"
#include "H5IdComponent.h"
#include "H5PropList.h"
#include "H5private.h" // for HDfree
#ifndef H5_NO_NAMESPACE
namespace H5 {
@@ -44,7 +46,7 @@ const PropList PropList::DEFAULT( H5P_DEFAULT );
///\brief Default constructor: creates a stub property list object.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
PropList::PropList() : IdComponent( 0 ) {}
PropList::PropList() : IdComponent(), id(0) {}
//--------------------------------------------------------------------------
// Function: PropList copy constructor
@@ -52,7 +54,11 @@ PropList::PropList() : IdComponent( 0 ) {}
///\param original - IN: The original property list to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
PropList::PropList( const PropList& original ) : IdComponent( original ) {}
PropList::PropList(const PropList& original) : IdComponent(original)
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
// Function: PropList overloaded constructor
@@ -60,29 +66,35 @@ PropList::PropList( const PropList& original ) : IdComponent( original ) {}
///\param plist_id - IN: Id of the existing property list
///\exception H5::PropListIException
// Description
// This function calls H5Pcreate to create a new property list
// if the given id, plist_id, is that of a property class. If
// the given id is equal to H5P_ROOT, then set this
// property's id to H5P_DEFAULT, otherwise, to the given id.
// Note: someone else added this code without comments and this
// description was what I came up with from reading the code.
// This function creates a new property list if a property
// class is provided or makes a copy of a property list if one
// is given. If the given id is anything else, then set this
// property's id to H5P_DEFAULT.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
PropList::PropList( const hid_t plist_id ) : IdComponent(0)
PropList::PropList( const hid_t plist_id ) : IdComponent()
{
if (H5I_GENPROP_CLS == H5Iget_type(plist_id)) {
// call C routine to create the new property
id = H5Pcreate(plist_id);
if( id < 0 )
{
throw PropListIException("PropList constructor", "H5Pcreate failed");
}
}
else {
if(plist_id==H5P_ROOT)
id=H5P_DEFAULT;
else
id=plist_id;
H5I_type_t id_type = H5Iget_type(plist_id);
switch (id_type) {
case H5I_GENPROP_CLS:
// call C routine to create a new property from the given prop class
id = H5Pcreate(plist_id);
if( id < 0 )
{
throw PropListIException("PropList constructor", "H5Pcreate failed");
}
break;
case H5I_GENPROP_LST:
// call C routine to make a copy of the given property list
id = H5Pcopy(plist_id);
if( id < 0 )
{
throw PropListIException("PropList constructor", "H5Pcopy failed");
}
break;
default:
id = H5P_DEFAULT;
break;
}
}
@@ -157,7 +169,7 @@ void PropList::copyProp(PropList& dest, const char *name) const
/// It differs from the above function only in what arguments it
/// accepts.
///\param dest - IN: Destination property list or class
///\param name - IN: Name of the property to copy - \c std::string
///\param name - IN: Name of the property to copy - \c H5std_string
// Programmer Binh-Minh Ribler - Jul, 2005
//--------------------------------------------------------------------------
void PropList::copyProp( PropList& dest, const H5std_string& name ) const
@@ -194,7 +206,7 @@ void PropList::copyProp( PropList& dest, PropList& src, const char *name ) const
/// accepts. - Obsolete
///\param dest - IN: Destination property list or class
///\param src - IN: Source property list or class
///\param name - IN: Name of the property to copy - \c std::string
///\param name - IN: Name of the property to copy - \c H5std_string
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void PropList::copyProp( PropList& dest, PropList& src, const H5std_string& name ) const
@@ -202,6 +214,46 @@ void PropList::copyProp( PropList& dest, PropList& src, const H5std_string& name
copyProp( dest, src, name.c_str());
}
//--------------------------------------------------------------------------
// Function: PropList::getId
// Purpose: Get the id of this attribute
// Description:
// Class hierarchy is revised to address bugzilla 1068. Class
// AbstractDS and Attribute are moved out of H5Object. In
// addition, member IdComponent::id is moved into subclasses, and
// IdComponent::getId now becomes pure virtual function.
// Programmer Binh-Minh Ribler - May, 2008
//--------------------------------------------------------------------------
hid_t PropList::getId() const
{
return(id);
}
//--------------------------------------------------------------------------
// Function: PropList::p_setId
///\brief Sets the identifier of this object to a new value.
///
///\exception H5::IdComponentException when the attempt to close the HDF5
/// object fails
// Description:
// The underlaying reference counting in the C library ensures
// that the current valid id of this object is properly closed.
// Then the object's id is reset to the new id.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void PropList::p_setId(const hid_t new_id)
{
// handling references to this old id
try {
close();
}
catch (Exception close_error) {
throw PropListIException(inMemFunc("p_setId"), close_error.getDetailMsg());
}
// reset object's id to the given id
id = new_id;
}
//--------------------------------------------------------------------------
// Function: PropList::close
///\brief Closes the property list if it is not a default one.
@@ -218,7 +270,7 @@ void PropList::close()
{
throw PropListIException(inMemFunc("close"), "H5Pclose failed");
}
// reset the id because the property list that it represents is now closed
// reset the id
id = 0;
}
}
@@ -273,7 +325,7 @@ bool PropList::propExist(const char* name ) const
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to check for - \c std::string
///\param name - IN: Name of property to check for - \c H5std_string
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
bool PropList::propExist(const H5std_string& name ) const
@@ -326,7 +378,7 @@ void PropList::getProperty(const char* name, void* value) const
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to query - \c char pointer
///\return The property that is a \c std::string.
///\return The property that is a \c H5std_string.
///\exception H5::PropListIException
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
@@ -343,7 +395,7 @@ H5std_string PropList::getProperty(const char* name) const
}
// Return propety value as a string after deleting temp C-string
H5std_string prop_strg = H5std_string(prop_strg_C);
H5std_string prop_strg(prop_strg_C);
delete []prop_strg_C;
return (prop_strg);
}
@@ -352,7 +404,7 @@ H5std_string PropList::getProperty(const char* name) const
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to query - \c std::string
///\param name - IN: Name of property to query - \c H5std_string
///\param value - OUT: Pointer to the buffer for the property value
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
@@ -365,8 +417,8 @@ void PropList::getProperty(const H5std_string& name, void* value) const
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to query - \c std::string
///\return The property that is a \c std::string.
///\param name - IN: Name of property to query - \c H5std_string
///\return The property that is a \c H5std_string.
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
H5std_string PropList::getProperty(const H5std_string& name) const
@@ -402,7 +454,7 @@ size_t PropList::getPropSize(const char *name) const
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to query - \c std::string
///\param name - IN: Name of property to query - \c H5std_string
///
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
@@ -421,12 +473,13 @@ size_t PropList::getPropSize(const H5std_string& name) const
H5std_string PropList::getClassName() const
{
char* temp_str;
temp_str = H5Pget_class_name(id);
temp_str = H5Pget_class_name(id); // this API specified that temp_str must
// be freed.
if (temp_str != NULL)
{
H5std_string class_name = H5std_string(temp_str);
free(temp_str);
H5std_string class_name(temp_str);
HDfree(temp_str);
return(class_name);
}
else
@@ -489,7 +542,7 @@ void PropList::setProperty(const char* name, const char* charptr) const
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to set - \c char pointer
///\param strg - IN: Value for the property is a \c std::string
///\param strg - IN: Value for the property is a \c H5std_string
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void PropList::setProperty(const char* name, H5std_string& strg) const
@@ -502,7 +555,7 @@ void PropList::setProperty(const char* name, H5std_string& strg) const
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to set - \c std::string
///\param name - IN: Name of property to set - \c H5std_string
///\param value - IN: Void pointer to the value for the property
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
@@ -516,8 +569,8 @@ void PropList::setProperty(const H5std_string& name, void* value) const
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to set - \c std::string
///\param strg - IN: Value for the property is a \c std::string
///\param name - IN: Name of property to set - \c H5std_string
///\param strg - IN: Value for the property is a \c H5std_string
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void PropList::setProperty(const H5std_string& name, H5std_string& strg) const
@@ -569,7 +622,7 @@ void PropList::removeProp(const char *name) const
///\brief This is an overloaded member function, provided for convenience.
/// It differs from the above function only in what arguments it
/// accepts.
///\param name - IN: Name of property to remove - \c std::string
///\param name - IN: Name of property to remove - \c H5std_string
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
void PropList::removeProp(const H5std_string& name) const

View File

@@ -94,7 +94,7 @@ class H5_DLLCPP PropList : public IdComponent {
void removeProp(const char *name) const;
void removeProp(const H5std_string& name) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("PropList"); }
// Default constructor: creates a stub PropList object.
@@ -103,8 +103,17 @@ class H5_DLLCPP PropList : public IdComponent {
// Copy constructor: creates a copy of a PropList object.
PropList(const PropList& original);
// Gets the property list id.
virtual hid_t getId() const;
// Destructor: properly terminates access to this property list.
virtual ~PropList();
protected:
hid_t id; // HDF5 property list id
// Sets the property list id.
virtual void p_setId(const hid_t new_id);
};
#ifndef H5_NO_NAMESPACE

View File

@@ -87,7 +87,7 @@ StrType::StrType( const PredType& pred_type, const size_t& size ) : AtomType()
// Function: StrType overloaded constructor
///\brief Creates a string datatype with a specified length
///\param dummy - IN: To simplify calling the previous constructor
// and avoid prototype clash with another constructor
/// and avoid prototype clash with another constructor
///\param size - IN: Length of the new string type
///\exception H5::DataTypeIException
///\par Description
@@ -209,7 +209,7 @@ H5T_str_t StrType::getStrpad() const
///\exception H5::DataTypeIException
///\par Description
/// For detail, please refer to the C layer Reference Manual at:
/// http://hdf.ncsa.uiuc.edu/HDF5/doc/RM_H5T.html#Datatype-SetStrpad
/// http://www.hdfgroup.org/HDF5/doc/RM/RM_H5T.html#Datatype-SetStrpad
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void StrType::setStrpad( H5T_str_t strpad ) const

View File

@@ -47,7 +47,7 @@ class H5_DLLCPP StrType : public AtomType {
// Defines the storage mechanism for character strings.
void setStrpad(H5T_str_t strpad) const;
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("StrType"); }
// default constructor

View File

@@ -30,7 +30,7 @@ class H5_DLLCPP VarLenType : public DataType {
// on the specified base type.
VarLenType(const DataType* base_type);
// Returns this class name
///\brief Returns this class name
virtual H5std_string fromClass () const { return("VarLenType"); }
// Copy constructor: makes copy of the original object.

View File

@@ -19,6 +19,7 @@
#
include $(top_srcdir)/config/commence.am
include $(top_srcdir)/config/lt_vers.am
# Include src directory
INCLUDES=-I$(top_srcdir)/src
@@ -26,10 +27,13 @@ INCLUDES=-I$(top_srcdir)/src
# This is our main target
lib_LTLIBRARIES=libhdf5_cpp.la
# Add libtool numbers to the HDF5 C++ library (from config/lt_vers.am)
libhdf5_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
# Shared C++ libraries aren't universally supported.
if CXX_SHARED_CONDITIONAL
else
AM_LDFLAGS=-static
AM_LDFLAGS+=-static
endif
bin_SCRIPTS=h5c++
@@ -43,6 +47,9 @@ libhdf5_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
H5ArrayType.cpp H5VarLenType.cpp H5CompType.cpp H5DataSet.cpp \
H5CommonFG.cpp H5Group.cpp H5File.cpp
# HDF5 C++ library depends on HDF5 Library.
libhdf5_cpp_la_LIBADD=$(LIBHDF5)
# Public headers
include_HEADERS=H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \
H5CommonFG.h H5CompType.h H5DataSet.h H5DataSpace.h H5DataType.h \
@@ -64,6 +71,6 @@ mostlyclean-local:
fi
# Mark this directory as part of the C++ API
HDF_CXX=yes
CXX_API=yes
include $(top_srcdir)/config/conclude.am

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.12.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -34,9 +34,27 @@
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -53,28 +71,54 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/h5c++.in \
$(top_srcdir)/bin/depcomp $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am
$(top_srcdir)/config/conclude.am \
$(top_srcdir)/config/lt_vers.am
# Shared C++ libraries aren't universally supported.
@CXX_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
TESTS =
subdir = c++/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES = h5c++
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(includedir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libhdf5_cpp_la_LIBADD =
libhdf5_cpp_la_DEPENDENCIES = $(LIBHDF5)
am_libhdf5_cpp_la_OBJECTS = H5Exception.lo H5IdComponent.lo \
H5Library.lo H5Attribute.lo H5Object.lo H5PropList.lo \
H5FaccProp.lo H5FcreatProp.lo H5DcreatProp.lo H5DxferProp.lo \
@@ -83,96 +127,156 @@ am_libhdf5_cpp_la_OBJECTS = H5Exception.lo H5IdComponent.lo \
H5StrType.lo H5ArrayType.lo H5VarLenType.lo H5CompType.lo \
H5DataSet.lo H5CommonFG.lo H5Group.lo H5File.lo
libhdf5_cpp_la_OBJECTS = $(am_libhdf5_cpp_la_OBJECTS)
binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
libhdf5_cpp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
$(AM_CXXFLAGS) $(CXXFLAGS) $(libhdf5_cpp_la_LDFLAGS) \
$(LDFLAGS) -o $@
SCRIPTS = $(bin_SCRIPTS)
DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo " CXX " $@;
am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(libhdf5_cpp_la_SOURCES)
DIST_SOURCES = $(libhdf5_cpp_la_SOURCES)
includeHEADERS_INSTALL = $(INSTALL_HEADER)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
HEADERS = $(include_HEADERS)
ETAGS = etags
CTAGS = ctags
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
am__tty_colors = $(am__tty_colors_dummy)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = /home1/packages/automake/automake-1.9.6/bin/aclocal-1.9 -I /afs/ncsa/projects/hdf/packages/libtool_1.5.14/Linux_2.4/share/aclocal
ACLOCAL = @ACLOCAL@
ADD_PARALLEL_FILES = @ADD_PARALLEL_FILES@
AMTAR = @AMTAR@
# H5_CFLAGS holds flags that should be used when building hdf5,
# but which should not be exported to h5cc for building other programs.
# AM_CFLAGS is an automake construct which should be used by Makefiles
# instead of CFLAGS, as CFLAGS is reserved solely for the user to define.
# This applies to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS as well.
AM_CFLAGS = @AM_CFLAGS@ @H5_CFLAGS@
AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
# Set the paths for AFS installs of autotools for Linux machines
# Ideally, these tools should never be needed during the build.
AUTOCONF = /home1/packages/autoconf/autoconf-2.60/bin/autoconf
AUTOHEADER = /home1/packages/autoconf/autoconf-2.60/bin/autoheader
AUTOMAKE = /home1/packages/automake/automake-1.9.6/bin/automake-1.9
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BYTESEX = @BYTESEX@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CC_VERSION = @CC_VERSION@
# H5_CFLAGS holds flags that should be used as CFLAGS when building hdf5,
# but which shouldn't be exported to h5cc for building other programs.
CFLAGS = @CFLAGS@ @H5_CFLAGS@
CFLAGS = @CFLAGS@
CLEARFILEBUF = @CLEARFILEBUF@
CODESTACK = @CODESTACK@
CONFIG_DATE = @CONFIG_DATE@
CONFIG_MODE = @CONFIG_MODE@
CONFIG_USER = @CONFIG_USER@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ @H5_CPPFLAGS@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ @H5_CXXFLAGS@
CXXFLAGS = @CXXFLAGS@
CXX_VERSION = @CXX_VERSION@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFAULT_API_VERSION = @DEFAULT_API_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEPRECATED_SYMBOLS = @DEPRECATED_SYMBOLS@
DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
EXTERNAL_FILTERS = @EXTERNAL_FILTERS@
# Make sure that these variables are exported to the Makefiles
F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
FCFLAGS = @FCFLAGS@ @H5_FCFLAGS@
FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FFLAGS = @FFLAGS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
GPFS = @GPFS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
HSIZET = @HSIZET@
HSIZE_T = @HSIZE_T@
HSSIZE_T = @HSSIZE_T@
INSTALL = @INSTALL@
@@ -180,26 +284,38 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTRUMENT = @INSTRUMENT@
INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@
LARGEFILE = @LARGEFILE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LL_PATH = @LL_PATH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_STATIC_EXEC = @LT_STATIC_EXEC@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MPE = @MPE@
MPI_GET_SIZE = @MPI_GET_SIZE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJECT_NAMELEN_DEFAULT_F = @OBJECT_NAMELEN_DEFAULT_F@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
@@ -212,22 +328,21 @@ RUNSERIAL = @RUNSERIAL@
R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
SETX = @SETX@
SET_MAKE = @SET_MAKE@
# Hardcode SHELL to be /bin/sh. Most machines have this shell, and
# on at least one machine configure fails to detect its existence (janus).
# Also, when HDF5 is configured on one machine but run on another,
# configure's automatic SHELL detection may not work on the build machine.
SHELL = /bin/sh
SHELL = @SHELL@
SIZE_T = @SIZE_T@
STATIC_EXEC = @STATIC_EXEC@
STATIC_SHARED = @STATIC_SHARED@
STRICT_FORMAT_CHECKS = @STRICT_FORMAT_CHECKS@
STRIP = @STRIP@
TESTPARALLEL = @TESTPARALLEL@
THREADSAFE = @THREADSAFE@
TIME = @TIME@
TR = @TR@
TRACE_API = @TRACE_API@
UNAME_INFO = @UNAME_INFO@
USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@
USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@
USE_FILTER_NBIT = @USE_FILTER_NBIT@
@@ -236,13 +351,15 @@ USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@
USE_FILTER_SZIP = @USE_FILTER_SZIP@
USINGMEMCHECKER = @USINGMEMCHECKER@
VERSION = @VERSION@
WORDS_BIGENDIAN = @WORDS_BIGENDIAN@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_FC = @ac_ct_FC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -258,8 +375,12 @@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
# Install directories that automake doesn't know about
docdir = $(exec_prefix)/doc
dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
@@ -267,9 +388,7 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
# Install directories that automake doesn't know about
includedir = $(exec_prefix)/include
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
@@ -288,6 +407,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -297,12 +417,12 @@ CP = cp
# Some machines need a command to run executables; this is that command
# so that our tests will run.
# We use RUNTESTS instead of RUNSERIAL directly because it may be that
# We use RUNEXEC instead of RUNSERIAL directly because it may be that
# some tests need to be run with a different command. Older versions
# of the makefiles used the command
# $(LIBTOOL) --mode=execute
# in some directories, for instance.
RUNTESTS = $(RUNSERIAL)
RUNEXEC = $(RUNSERIAL)
# Libraries to link to while building
LIBHDF5 = $(top_builddir)/src/libhdf5.la
@@ -315,14 +435,25 @@ LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5CPP_HL = $(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
# Note that in svn revision 19400 the '/' after DESTDIR in H5* variables below
# has been removed. According to the official description of DESTDIR by Gnu at
# http://www.gnu.org/prep/standards/html_node/DESTDIR.html, DESTDIR is
# prepended to the normal and complete install path that it precedes for the
# purpose of installing in a temporary directory which is useful for building
# rpms and other packages. The '/' after ${DESTDIR} will be followed by another
# '/' at the beginning of the normal install path. When DESTDIR is empty the
# path then begins with '//', which is incorrect and causes problems at least for
# Cygwin.
# Scripts used to build examples
# If only shared libraries have been installed, have h5cc build examples with
# shared libraries instead of static libraries
H5CC = $(bindir)/h5cc
H5CC_PP = $(bindir)/h5pcc
H5FC = $(bindir)/h5fc
H5FC_PP = $(bindir)/h5pfc
H5CPP = $(bindir)/h5c++
H5CC = ${DESTDIR}$(bindir)/h5cc
H5CC_PP = ${DESTDIR}$(bindir)/h5pcc
H5FC = ${DESTDIR}$(bindir)/h5fc
H5FC_PP = ${DESTDIR}$(bindir)/h5pfc
H5CPP = ${DESTDIR}$(bindir)/h5c++
ACLOCAL_AMFLAGS = "-I m4"
# The trace script; this is used on source files from the C library to
# insert tracing macros.
@@ -333,14 +464,20 @@ TRACE = perl $(top_srcdir)/bin/trace
# *.clog are from the MPE option.
CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 7
LT_VERS_REVISION = 4
LT_VERS_AGE = 0
# Include src directory
INCLUDES = -I$(top_srcdir)/src
# This is our main target
lib_LTLIBRARIES = libhdf5_cpp.la
# Shared C++ libraries aren't universally supported.
@CXX_SHARED_CONDITIONAL_FALSE@AM_LDFLAGS = -static
# Add libtool numbers to the HDF5 C++ library (from config/lt_vers.am)
libhdf5_cpp_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
bin_SCRIPTS = h5c++
# Source files for the library
@@ -353,6 +490,9 @@ libhdf5_cpp_la_SOURCES = H5Exception.cpp H5IdComponent.cpp H5Library.cpp
H5CommonFG.cpp H5Group.cpp H5File.cpp
# HDF5 C++ library depends on HDF5 Library.
libhdf5_cpp_la_LIBADD = $(LIBHDF5)
# Public headers
include_HEADERS = H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \
H5CommonFG.h H5CompType.h H5DataSet.h H5DataSpace.h H5DataType.h \
@@ -367,7 +507,7 @@ include_HEADERS = H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h
DISTCLEANFILES = h5c++ libhdf5.settings
# Mark this directory as part of the C++ API
HDF_CXX = yes
CXX_API = yes
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -380,6 +520,10 @@ LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES) \
PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
$(EXTRA_PROG)
chk_TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
TEST_EXTENSIONS = .sh
SH_LOG_COMPILER = $(SHELL)
AM_SH_LOG_FLAGS =
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chkexe_)
@@ -388,18 +532,18 @@ all: all-am
.SUFFIXES:
.SUFFIXES: .cpp .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/src/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/src/Makefile
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/src/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -409,6 +553,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -417,56 +562,80 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
h5c++: $(top_builddir)/config.status $(srcdir)/h5c++.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
list2="$$list2 $$p"; \
else :; fi; \
done
done; \
test -z "$$list2" || { \
echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
}
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
libhdf5_cpp.la: $(libhdf5_cpp_la_OBJECTS) $(libhdf5_cpp_la_DEPENDENCIES)
$(CXXLINK) -rpath $(libdir) $(libhdf5_cpp_la_OBJECTS) $(libhdf5_cpp_la_LIBADD) $(LIBS)
@list='$(lib_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
test -z "$$locs" || { \
echo rm -f $${locs}; \
rm -f $${locs}; \
}
libhdf5_cpp.la: $(libhdf5_cpp_la_OBJECTS) $(libhdf5_cpp_la_DEPENDENCIES) $(EXTRA_libhdf5_cpp_la_DEPENDENCIES)
$(AM_V_CXXLD)$(libhdf5_cpp_la_LINK) -rpath $(libdir) $(libhdf5_cpp_la_OBJECTS) $(libhdf5_cpp_la_LIBADD) $(LIBS)
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_SCRIPTS)'; for p in $$list; do \
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
else :; fi; \
done
if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n' \
-e 'h;s|.*|.|' \
-e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) { files[d] = files[d] " " $$1; \
if (++n[d] == $(am__install_max)) { \
print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
else { print "f", d "/" $$4, $$1 } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binSCRIPTS:
@$(NORMAL_UNINSTALL)
@list='$(bin_SCRIPTS)'; for p in $$list; do \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 's,.*/,,;$(transform)'`; \
dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -502,25 +671,25 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VarLenType.Plo@am__quote@
.cpp.o:
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -529,66 +698,88 @@ clean-libtool:
-rm -rf .libs _libs
install-includeHEADERS: $(include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
@list='$(include_HEADERS)'; for p in $$list; do \
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
$(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
$(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
$(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
done
uninstall-includeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(include_HEADERS)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
rm -f "$(DESTDIR)$(includedir)/$$f"; \
done
@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -609,13 +800,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -637,16 +832,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@@ -669,6 +870,8 @@ dvi-am:
html: html-am
html-am:
info: info-am
info-am:
@@ -677,18 +880,28 @@ install-data-am: install-includeHEADERS
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binSCRIPTS install-libLTLIBRARIES
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -712,11 +925,11 @@ ps-am:
uninstall-am: uninstall-binSCRIPTS uninstall-includeHEADERS \
uninstall-libLTLIBRARIES
.MAKE: install-am install-strip
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-TESTS check-am \
clean clean-generic clean-libLTLIBRARIES clean-libtool ctags \
distclean distclean-compile distclean-generic \
clean clean-generic clean-libLTLIBRARIES clean-libtool \
cscopelist ctags distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-binSCRIPTS \
install-data install-data-am install-dvi install-dvi-am \
@@ -743,6 +956,19 @@ uninstall-am: uninstall-binSCRIPTS uninstall-includeHEADERS \
help:
@$(top_srcdir)/bin/makehelp
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# All rights reserved.
#
# This file is part of HDF5. The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the files COPYING and Copyright.html. COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page. It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
# access to either file, you may request a copy from help@hdfgroup.org.
# Some C++ compilers/linkers (PGI?) create a directory named "ii_files" that
# holds *.ii files, which are template entity instantiations.
# This entire directory should be cleaned.
@@ -755,7 +981,7 @@ mostlyclean-local:
# build files in this directory.
build-lib: $(LIB)
build-progs: $(LIB) $(PROGS)
build-tests: $(LIB) $(PROGS) $(TESTS)
build-tests: $(LIB) $(PROGS) $(chk_TESTS)
# General rule for recursive building targets.
# BUILT_SOURCES contain targets that need to be built before anything else
@@ -781,7 +1007,7 @@ check-clean ::
# Tell Automake to build tests when the user types `make all' (this is
# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since
# Automake won't build them automatically, either.
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(chk_TESTS)
# make install-doc doesn't do anything outside of doc directory, but
# Makefiles should recognize it.
@@ -805,7 +1031,7 @@ check-install: installcheck
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
# The timestamps give a rough idea how much time the tests use.
#
# Note that targets in TESTS (defined above) will be built when the user
# Note that targets in chk_TESTS (defined above) will be built when the user
# types 'make tests' or 'make check', but only programs in TEST_PROG,
# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed.
check-TESTS: test
@@ -815,7 +1041,7 @@ test _test:
@$(MAKE) build-check-p
# Actual execution of check-s.
build-check-s: $(LIB) $(PROGS) $(TESTS)
build-check-s: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -839,10 +1065,10 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log};\
else \
@@ -851,7 +1077,7 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
fi; \
echo "============================" >> $${log}; \
srcdir="$(srcdir)" \
$(TIME) $(RUNTESTS) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
$(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
&& touch $(@:.chkexe_=.chkexe) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
(cat $${log} && false) || exit 1; \
@@ -878,10 +1104,10 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
else \
@@ -905,7 +1131,7 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
fi
# Actual execution of check-p.
build-check-p: $(LIB) $(PROGS) $(TESTS)
build-check-p: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -922,7 +1148,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
@for test in $(TEST_PROG_PARA) dummy; do \
if test $$test != dummy; then \
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
RUNTESTS="$(RUNPARALLEL)" || exit 1; \
RUNEXEC="$(RUNPARALLEL)" || exit 1; \
fi; \
done
@for test in $(TEST_SCRIPT_PARA) dummy; do \
@@ -935,7 +1161,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
fi
# Run test with different Virtual File Driver
check-vfd: $(LIB) $(PROGS) $(TESTS)
check-vfd: $(LIB) $(PROGS) $(chk_TESTS)
@for vfd in $(VFD_LIST) dummy; do \
if test $$vfd != dummy; then \
echo "============================"; \
@@ -945,6 +1171,7 @@ check-vfd: $(LIB) $(PROGS) $(TESTS)
HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
fi; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

74
c++/src/h5c++.in Executable file → Normal file
View File

@@ -30,12 +30,35 @@ libdir="@libdir@"
includedir="@includedir@"
HL="@HL@"
############################################################################
## ##
## Things You Can Modify to Override HDF5 Library Build Components: ##
## ##
## (Advanced usage - know what you're doing - you're on your own here.) ##
## The four variables below can be used to insert paths and flags in ##
## CPPFLAGS, CXXFLAGS, LDFLAGS, or LIBS in the h5cc compile line: ##
## $CLINKER $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CXXFLAGS $CXXFLAGS ##
## $LDFLAGS $LIBS $clibpath $link_objs $link_args $shared_link ##
## ##
## These settings can be overriden by setting HDF5_CXXFLAGS, ##
## HDF5_CPPFLAGS, HDF5_LDFLAGS, or HDF5_LIBS in the environment. ##
## ##
############################################################################
CXXFLAGSBASE=""
CPPFLAGSBASE=""
LDFLAGSBASE=""
LIBSBASE=""
############################################################################
## ##
## You shouldn't have to modify anything below this line. ##
## ##
############################################################################
# Constants definitions
EXIT_SUCCESS=0
EXIT_FAILURE=1
host_os="@host_os@"
prog_name="`basename $0`"
@@ -56,13 +79,26 @@ get_output_file="no"
SHOW="eval"
CXXBASE="@CXX@"
CXXLINKERBASE="@CXX@"
CXXFLAGS="@CXXFLAGS@"
CPPFLAGS="@CPPFLAGS@"
LDFLAGS="@LDFLAGS@"
LIBS="@LIBS@"
# CXXFLAGS, CPPFLAGS and LDFLAGS are reserved for use by the script user.
# FLAGS brought from the hdf5 build are put in H5BLD_*FLAGS.
# User's CPPFLAGS and CXXFLAGS come after their H5BLD counterparts to override
# them. User's LDFLAGS come just before clibpath, user's LIBS come after
# $link_objs and before the hdf5 libraries in $link_args, followed by any
# external library paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS
# or LIBS carried in from the hdf5 build.
H5BLD_CXXFLAGS="@AM_CXXFLAGS@ @CXXFLAGS@"
H5BLD_CPPFLAGS="@AM_CPPFLAGS@ @CPPFLAGS@"
H5BLD_LDFLAGS="@AM_LDFLAGS@ @LDFLAGS@"
H5BLD_LIBS="@LIBS@"
CXX="${HDF5_CXX:-$CXXBASE}"
CXXLINKER="${HDF5_CLINKER:-$CXXLINKERBASE}"
CXXFLAGS="${HDF5_CXXFLAGS:-$CXXFLAGSBASE}"
CPPFLAGS="${HDF5_CPPFLAGS:-$CPPFLAGSBASE}"
LDFLAGS="${HDF5_LDFLAGS:-$LDFLAGSBASE}"
LIBS="${HDF5_LIBS:-$LIBSBASE}"
USE_SHARED_LIB="${HDF5_USE_SHLIB:-no}"
@@ -90,8 +126,20 @@ usage() {
echo " "
echo " HDF5_CXX - use a different C++ compiler"
echo " HDF5_CXXLINKER - use a different linker"
echo " You can also add or change paths and flags to the compile line using"
echo " the following environment varibles or by assigning them to their counterparts"
echo " in the 'Things You Can Modify to Override...'" section of $prog_name
echo " "
exit 1
echo " Variable Current value to be replaced"
echo " HDF5_CPPFLAGS \"$CPPFLAGSBASE\""
echo " HDF5_CXXFLAGS \"$CXXFLAGSBASE\""
echo " HDF5_LDFLAGS \"$LDFLAGSBASE\""
echo " HDF5_LIBS \"$LIBSBASE\""
echo " "
echo " Note that adding library paths to HDF5_LDFLAGS where another hdf5 version"
echo " is located may link your program with that other hdf5 library version."
echo " "
exit $EXIT_FAILURE
}
# Show the configuration summary of the library recorded in the
@@ -103,7 +151,7 @@ showconfigure()
}
# Main
status=0
status=$EXIT_SUCCESS
if test "$#" = "0"; then
# No parameters specified, issue usage statement and exit.
@@ -160,7 +208,7 @@ for arg in $@ ; do
get_output_file="yes"
fi
;;
-E|-M)
-E|-M|-MT)
allargs="$allargs $arg"
compile_args="$compile_args $arg"
dash_c="yes"
@@ -240,7 +288,7 @@ if test "x$do_compile" = "xyes"; then
compile_args="-c $compile_args"
fi
$SHOW $CXX -I$includedir $CPPFLAGS $CXXFLAGS $compile_args
$SHOW $CXX -I$includedir $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CXXFLAGS $CXXFLAGS $compile_args
status=$?
if test "$status" != "0"; then
@@ -315,9 +363,15 @@ if test "x$do_link" = "xyes"; then
# The LIBS are just a bunch of -l* libraries necessary for the HDF5
# module. It's okay if they're included twice in the compile line.
link_args="$link_args $LIBS"
link_args="$link_args $H5BLD_LDFLAGS $H5BLD_LIBS"
$SHOW $CXXLINKER $CPPFLAGS $CXXFLAGS $LDFLAGS $clibpath $link_objs $link_args $shared_link
# User's CPPFLAGS and CXXFLAGS come after their H5BLD counterparts to override
# them. User's LDFLAGS come just before clibpath, user's LIBS come after
# $link_objs and before the hdf5 libraries in $link_args, followed by any
# external library paths and libraries from AM_LDFLAGS, LDFLAGS, AM_LIBS
# or LIBS carried in from the hdf5 build.
$SHOW $CXXLINKER $H5BLD_CPPFLAGS $CPPFLAGS $H5BLD_CXXFLAGS $CXXFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args $shared_link
status=$?
fi

92
c++/test/CMakeLists.txt Normal file
View File

@@ -0,0 +1,92 @@
cmake_minimum_required (VERSION 2.8.6)
PROJECT (HDF5_CPP_TEST)
# --------------------------------------------------------------------
# Notes: When creating unit test executables they should be prefixed
# with "cpp_". This allows for easier filtering of the test suite when
# using ctest. An example would be
# ctest -R cpp_
# which would only run the C++ based unit tests.
# --------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Define Sources
#-----------------------------------------------------------------------------
SET (CPP_TEST_SRCS
${HDF5_CPP_TEST_SOURCE_DIR}/testhdf5.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/tattr.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/tcompound.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/tfile.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/tfilter.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/th5s.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/tlinks.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/trefer.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/ttypes.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/tvlstr.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/dsets.cpp
${HDF5_CPP_TEST_SOURCE_DIR}/h5cpputil.cpp
)
#-----------------------------------------------------------------------------
# Generate the H5srcdir_str.h file containing user settings needed by compilation
#-----------------------------------------------------------------------------
SET (srcdir ${CMAKE_CURRENT_SOURCE_DIR})
CONFIGURE_FILE (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @ONLY)
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR} )
ADD_EXECUTABLE (cpp_testhdf5 ${CPP_TEST_SRCS} )
TARGET_NAMING (cpp_testhdf5 ${LIB_TYPE})
TARGET_LINK_LIBRARIES (cpp_testhdf5
${HDF5_CPP_LIB_TARGET}
${HDF5_LIB_TARGET}
${HDF5_TEST_LIB_TARGET}
)
SET_TARGET_PROPERTIES (cpp_testhdf5 PROPERTIES FOLDER test/cpp)
ADD_CUSTOM_COMMAND (
TARGET cpp_testhdf5
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_CPP_TEST_SOURCE_DIR}/th5s.h5 ${PROJECT_BINARY_DIR}/th5s.h5
)
ADD_TEST (NAME cpp_testhdf5 COMMAND $<TARGET_FILE:cpp_testhdf5>)
IF (HDF5_TEST_VFD)
SET (VFD_LIST
sec2
stdio
core
split
multi
family
)
IF (DIRECT_VFD)
SET (VFD_LIST ${VFD_LIST} direct)
ENDIF (DIRECT_VFD)
MACRO (ADD_VFD_TEST vfdname resultcode)
IF (NOT HDF5_ENABLE_USING_MEMCHECKER)
ADD_TEST (
NAME VFD-${vfdname}-cpp_testhdf5
COMMAND "${CMAKE_COMMAND}"
-D "TEST_PROGRAM=$<TARGET_FILE:cpp_testhdf5>"
-D "TEST_ARGS:STRING="
-D "TEST_VFD:STRING=${vfdname}"
-D "TEST_EXPECT=${resultcode}"
-D "TEST_OUTPUT=cpp_testhdf5"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
-P "${HDF5_RESOURCES_DIR}/vfdTest.cmake"
)
ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER)
ENDMACRO (ADD_VFD_TEST)
# Run test with different Virtual File Driver
FOREACH (vfd ${VFD_LIST})
ADD_VFD_TEST (${vfd} 0)
ENDFOREACH (vfd ${VFD_LIST})
ENDIF (HDF5_TEST_VFD)

View File

@@ -0,0 +1,22 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* If you are reading this file and it has a '.h' suffix, it was automatically
* generated from the '.in' version. Make changes there.
*/
/* Set the 'srcdir' path from configure time */
static const char *config_srcdir = "@srcdir@";

View File

@@ -26,23 +26,23 @@ INCLUDES=-I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
# Shared C++ libraries aren't universally supported.
if CXX_SHARED_CONDITIONAL
else
AM_LDFLAGS=-static
AM_LDFLAGS+=-static
endif
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
TEST_PROG=dsets testhdf5
TEST_PROG=testhdf5
check_PROGRAMS=$(TEST_PROG)
# The tests depend on the hdf5 library, test library, and the c++ library
LDADD=$(LIBH5TEST) $(LIBH5CPP) $(LIBHDF5)
dsets_SOURCES=dsets.cpp h5cpputil.cpp
testhdf5_SOURCES=testhdf5.cpp tattr.cpp tcompound.cpp tfile.cpp tfilter.cpp \
th5s.cpp trefer.cpp ttypes.cpp tvlstr.cpp h5cpputil.cpp
testhdf5_SOURCES=testhdf5.cpp dsets.cpp tattr.cpp tcompound.cpp \
tfile.cpp tfilter.cpp th5s.cpp tlinks.cpp trefer.cpp \
ttypes.cpp tvlstr.cpp h5cpputil.cpp
# Tell conclude.am that these are C++ tests.
HDF_CXX=yes
CXX_API=yes
# Some C++ compilers/linkers (PGI?) create a directory named "ii_files" that
# holds *.ii files, which are template entity instantiations.

View File

@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.12.3 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 1994-2012 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -31,9 +31,27 @@
# HDF5-C++ Makefile(.in)
#
VPATH = @srcdir@
am__make_dryrun = \
{ \
am__dry=no; \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
| grep '^AM OK$$' >/dev/null || am__dry=yes;; \
*) \
for am__flg in $$MAKEFLAGS; do \
case $$am__flg in \
*=*|--*) ;; \
*n*) am__dry=yes; break;; \
esac; \
done;; \
esac; \
test $$am__dry = yes; \
}
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
@@ -48,117 +66,178 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
DIST_COMMON = $(srcdir)/H5srcdir_str.h.in $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/bin/depcomp \
$(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/config/commence.am \
$(top_srcdir)/config/conclude.am
# Shared C++ libraries aren't universally supported.
@CXX_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
check_PROGRAMS = $(am__EXEEXT_1)
TESTS = $(check_PROGRAMS)
TESTS = $(am__EXEEXT_1)
subdir = c++/test
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/src/H5config.h
CONFIG_CLEAN_FILES =
am__EXEEXT_1 = dsets$(EXEEXT) testhdf5$(EXEEXT)
am_dsets_OBJECTS = dsets.$(OBJEXT) h5cpputil.$(OBJEXT)
dsets_OBJECTS = $(am_dsets_OBJECTS)
dsets_LDADD = $(LDADD)
dsets_DEPENDENCIES = $(LIBH5TEST) $(LIBH5CPP) $(LIBHDF5)
am_testhdf5_OBJECTS = testhdf5.$(OBJEXT) tattr.$(OBJEXT) \
tcompound.$(OBJEXT) tfile.$(OBJEXT) tfilter.$(OBJEXT) \
th5s.$(OBJEXT) trefer.$(OBJEXT) ttypes.$(OBJEXT) \
tvlstr.$(OBJEXT) h5cpputil.$(OBJEXT)
CONFIG_CLEAN_FILES = H5srcdir_str.h
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = testhdf5$(EXEEXT)
am_testhdf5_OBJECTS = testhdf5.$(OBJEXT) dsets.$(OBJEXT) \
tattr.$(OBJEXT) tcompound.$(OBJEXT) tfile.$(OBJEXT) \
tfilter.$(OBJEXT) th5s.$(OBJEXT) tlinks.$(OBJEXT) \
trefer.$(OBJEXT) ttypes.$(OBJEXT) tvlstr.$(OBJEXT) \
h5cpputil.$(OBJEXT)
testhdf5_OBJECTS = $(am_testhdf5_OBJECTS)
testhdf5_LDADD = $(LDADD)
testhdf5_DEPENDENCIES = $(LIBH5TEST) $(LIBH5CPP) $(LIBHDF5)
DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo " CXX " $@;
am__v_CXX_1 =
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(dsets_SOURCES) $(testhdf5_SOURCES)
DIST_SOURCES = $(dsets_SOURCES) $(testhdf5_SOURCES)
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo " CXXLD " $@;
am__v_CXXLD_1 =
SOURCES = $(testhdf5_SOURCES)
DIST_SOURCES = $(testhdf5_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
ETAGS = etags
CTAGS = ctags
am__tty_colors_dummy = \
mgn= red= grn= lgn= blu= brg= std=; \
am__color_tests=no
am__tty_colors = $(am__tty_colors_dummy)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = /home1/packages/automake/automake-1.9.6/bin/aclocal-1.9 -I /afs/ncsa/projects/hdf/packages/libtool_1.5.14/Linux_2.4/share/aclocal
ACLOCAL = @ACLOCAL@
ADD_PARALLEL_FILES = @ADD_PARALLEL_FILES@
AMTAR = @AMTAR@
# H5_CFLAGS holds flags that should be used when building hdf5,
# but which should not be exported to h5cc for building other programs.
# AM_CFLAGS is an automake construct which should be used by Makefiles
# instead of CFLAGS, as CFLAGS is reserved solely for the user to define.
# This applies to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS as well.
AM_CFLAGS = @AM_CFLAGS@ @H5_CFLAGS@
AM_CPPFLAGS = @AM_CPPFLAGS@ @H5_CPPFLAGS@
AM_CXXFLAGS = @AM_CXXFLAGS@ @H5_CXXFLAGS@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_FCFLAGS = @AM_FCFLAGS@ @H5_FCFLAGS@
AM_LDFLAGS = @AM_LDFLAGS@ @H5_LDFLAGS@ $(am__append_1)
AM_MAKEFLAGS = @AM_MAKEFLAGS@
AR = @AR@
# Set the paths for AFS installs of autotools for Linux machines
# Ideally, these tools should never be needed during the build.
AUTOCONF = /home1/packages/autoconf/autoconf-2.60/bin/autoconf
AUTOHEADER = /home1/packages/autoconf/autoconf-2.60/bin/autoheader
AUTOMAKE = /home1/packages/automake/automake-1.9.6/bin/automake-1.9
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BYTESEX = @BYTESEX@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CC_VERSION = @CC_VERSION@
# H5_CFLAGS holds flags that should be used as CFLAGS when building hdf5,
# but which shouldn't be exported to h5cc for building other programs.
CFLAGS = @CFLAGS@ @H5_CFLAGS@
CFLAGS = @CFLAGS@
CLEARFILEBUF = @CLEARFILEBUF@
CODESTACK = @CODESTACK@
CONFIG_DATE = @CONFIG_DATE@
CONFIG_MODE = @CONFIG_MODE@
CONFIG_USER = @CONFIG_USER@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ @H5_CPPFLAGS@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ @H5_CXXFLAGS@
CXXFLAGS = @CXXFLAGS@
CXX_VERSION = @CXX_VERSION@
CYGPATH_W = @CYGPATH_W@
DEBUG_PKG = @DEBUG_PKG@
DEFAULT_API_VERSION = @DEFAULT_API_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEPRECATED_SYMBOLS = @DEPRECATED_SYMBOLS@
DIRECT_VFD = @DIRECT_VFD@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
DYNAMIC_DIRS = @DYNAMIC_DIRS@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
EXTERNAL_FILTERS = @EXTERNAL_FILTERS@
# Make sure that these variables are exported to the Makefiles
F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
FCFLAGS = @FCFLAGS@ @H5_FCFLAGS@
FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FFLAGS = @FFLAGS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
FILTERS = @FILTERS@
FSEARCH_DIRS = @FSEARCH_DIRS@
GPFS = @GPFS@
GREP = @GREP@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
H5_CXX_SHARED = @H5_CXX_SHARED@
H5_FCFLAGS = @H5_FCFLAGS@
H5_FORTRAN_SHARED = @H5_FORTRAN_SHARED@
H5_LDFLAGS = @H5_LDFLAGS@
H5_LONE_COLON = @H5_LONE_COLON@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
HSIZET = @HSIZET@
HSIZE_T = @HSIZE_T@
HSSIZE_T = @HSSIZE_T@
INSTALL = @INSTALL@
@@ -166,26 +245,38 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTRUMENT = @INSTRUMENT@
INSTRUMENT_LIBRARY = @INSTRUMENT_LIBRARY@
LARGEFILE = @LARGEFILE@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LL_PATH = @LL_PATH@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_STATIC_EXEC = @LT_STATIC_EXEC@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MPE = @MPE@
MPI_GET_SIZE = @MPI_GET_SIZE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJECT_NAMELEN_DEFAULT_F = @OBJECT_NAMELEN_DEFAULT_F@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
@@ -198,22 +289,21 @@ RUNSERIAL = @RUNSERIAL@
R_INTEGER = @R_INTEGER@
R_LARGE = @R_LARGE@
SEARCH = @SEARCH@
SED = @SED@
SETX = @SETX@
SET_MAKE = @SET_MAKE@
# Hardcode SHELL to be /bin/sh. Most machines have this shell, and
# on at least one machine configure fails to detect its existence (janus).
# Also, when HDF5 is configured on one machine but run on another,
# configure's automatic SHELL detection may not work on the build machine.
SHELL = /bin/sh
SHELL = @SHELL@
SIZE_T = @SIZE_T@
STATIC_EXEC = @STATIC_EXEC@
STATIC_SHARED = @STATIC_SHARED@
STRICT_FORMAT_CHECKS = @STRICT_FORMAT_CHECKS@
STRIP = @STRIP@
TESTPARALLEL = @TESTPARALLEL@
THREADSAFE = @THREADSAFE@
TIME = @TIME@
TR = @TR@
TRACE_API = @TRACE_API@
UNAME_INFO = @UNAME_INFO@
USE_FILTER_DEFLATE = @USE_FILTER_DEFLATE@
USE_FILTER_FLETCHER32 = @USE_FILTER_FLETCHER32@
USE_FILTER_NBIT = @USE_FILTER_NBIT@
@@ -222,13 +312,15 @@ USE_FILTER_SHUFFLE = @USE_FILTER_SHUFFLE@
USE_FILTER_SZIP = @USE_FILTER_SZIP@
USINGMEMCHECKER = @USINGMEMCHECKER@
VERSION = @VERSION@
WORDS_BIGENDIAN = @WORDS_BIGENDIAN@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
ac_ct_FC = @ac_ct_FC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
@@ -244,8 +336,12 @@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
# Install directories that automake doesn't know about
docdir = $(exec_prefix)/doc
dvidir = @dvidir@
enable_shared = @enable_shared@
enable_static = @enable_static@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
@@ -253,9 +349,7 @@ host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
# Install directories that automake doesn't know about
includedir = $(exec_prefix)/include
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
@@ -274,6 +368,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@@ -283,12 +378,12 @@ CP = cp
# Some machines need a command to run executables; this is that command
# so that our tests will run.
# We use RUNTESTS instead of RUNSERIAL directly because it may be that
# We use RUNEXEC instead of RUNSERIAL directly because it may be that
# some tests need to be run with a different command. Older versions
# of the makefiles used the command
# $(LIBTOOL) --mode=execute
# in some directories, for instance.
RUNTESTS = $(RUNSERIAL)
RUNEXEC = $(RUNSERIAL)
# Libraries to link to while building
LIBHDF5 = $(top_builddir)/src/libhdf5.la
@@ -301,14 +396,25 @@ LIBH5_HL = $(top_builddir)/hl/src/libhdf5_hl.la
LIBH5F_HL = $(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
LIBH5CPP_HL = $(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
# Note that in svn revision 19400 the '/' after DESTDIR in H5* variables below
# has been removed. According to the official description of DESTDIR by Gnu at
# http://www.gnu.org/prep/standards/html_node/DESTDIR.html, DESTDIR is
# prepended to the normal and complete install path that it precedes for the
# purpose of installing in a temporary directory which is useful for building
# rpms and other packages. The '/' after ${DESTDIR} will be followed by another
# '/' at the beginning of the normal install path. When DESTDIR is empty the
# path then begins with '//', which is incorrect and causes problems at least for
# Cygwin.
# Scripts used to build examples
# If only shared libraries have been installed, have h5cc build examples with
# shared libraries instead of static libraries
H5CC = $(bindir)/h5cc
H5CC_PP = $(bindir)/h5pcc
H5FC = $(bindir)/h5fc
H5FC_PP = $(bindir)/h5pfc
H5CPP = $(bindir)/h5c++
H5CC = ${DESTDIR}$(bindir)/h5cc
H5CC_PP = ${DESTDIR}$(bindir)/h5pcc
H5FC = ${DESTDIR}$(bindir)/h5fc
H5FC_PP = ${DESTDIR}$(bindir)/h5pfc
H5CPP = ${DESTDIR}$(bindir)/h5c++
ACLOCAL_AMFLAGS = "-I m4"
# The trace script; this is used on source files from the C library to
# insert tracing macros.
@@ -322,22 +428,19 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Include src, test, and c++/src directories
INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/test -I$(top_srcdir)/c++/src
# Shared C++ libraries aren't universally supported.
@CXX_SHARED_CONDITIONAL_FALSE@AM_LDFLAGS = -static
# These are our main targets. They should be listed in the order to be
# executed, generally most specific tests to least specific tests.
TEST_PROG = dsets testhdf5
TEST_PROG = testhdf5
# The tests depend on the hdf5 library, test library, and the c++ library
LDADD = $(LIBH5TEST) $(LIBH5CPP) $(LIBHDF5)
dsets_SOURCES = dsets.cpp h5cpputil.cpp
testhdf5_SOURCES = testhdf5.cpp tattr.cpp tcompound.cpp tfile.cpp tfilter.cpp \
th5s.cpp trefer.cpp ttypes.cpp tvlstr.cpp h5cpputil.cpp
testhdf5_SOURCES = testhdf5.cpp dsets.cpp tattr.cpp tcompound.cpp \
tfile.cpp tfilter.cpp th5s.cpp tlinks.cpp trefer.cpp \
ttypes.cpp tvlstr.cpp h5cpputil.cpp
# Tell conclude.am that these are C++ tests.
HDF_CXX = yes
CXX_API = yes
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -350,6 +453,10 @@ LIB = $(lib_LIBRARIES) $(lib_LTLIBRARIES) $(noinst_LIBRARIES) \
PROGS = $(bin_PROGRAMS) $(bin_SCRIPTS) $(noinst_PROGRAMS) $(noinst_SCRIPTS) \
$(EXTRA_PROG)
chk_TESTS = $(check_PROGRAMS) $(check_SCRIPTS) $(EXTRA_TEST)
TEST_EXTENSIONS = .sh
SH_LOG_COMPILER = $(SHELL)
AM_SH_LOG_FLAGS =
TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chkexe_)
@@ -362,14 +469,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/test/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/test/Makefile
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign c++/test/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign c++/test/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -379,6 +486,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -387,19 +495,21 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
H5srcdir_str.h: $(top_builddir)/config.status $(srcdir)/H5srcdir_str.h.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
clean-checkPROGRAMS:
@list='$(check_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
dsets$(EXEEXT): $(dsets_OBJECTS) $(dsets_DEPENDENCIES)
@rm -f dsets$(EXEEXT)
$(CXXLINK) $(dsets_OBJECTS) $(dsets_LDADD) $(LIBS)
testhdf5$(EXEEXT): $(testhdf5_OBJECTS) $(testhdf5_DEPENDENCIES)
@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
testhdf5$(EXEEXT): $(testhdf5_OBJECTS) $(testhdf5_DEPENDENCIES) $(EXTRA_testhdf5_DEPENDENCIES)
@rm -f testhdf5$(EXEEXT)
$(CXXLINK) $(testhdf5_OBJECTS) $(testhdf5_LDADD) $(LIBS)
$(AM_V_CXXLD)$(CXXLINK) $(testhdf5_OBJECTS) $(testhdf5_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -415,30 +525,31 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tfilter.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/th5s.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tlinks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trefer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ttypes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tvlstr.Po@am__quote@
.cpp.o:
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
.cpp.obj:
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cpp.lo:
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -451,45 +562,63 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -510,13 +639,17 @@ distdir: $(DISTFILES)
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@@ -536,16 +669,22 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -567,6 +706,8 @@ dvi-am:
html: html-am
html-am:
info: info-am
info-am:
@@ -575,18 +716,28 @@ install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -609,11 +760,11 @@ ps-am:
uninstall-am:
.MAKE: install-am install-strip
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS all all-am all-local check check-TESTS check-am \
clean clean-checkPROGRAMS clean-generic clean-libtool ctags \
distclean distclean-compile distclean-generic \
clean clean-checkPROGRAMS clean-generic clean-libtool \
cscopelist ctags distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
@@ -649,7 +800,7 @@ mostlyclean-local:
# build files in this directory.
build-lib: $(LIB)
build-progs: $(LIB) $(PROGS)
build-tests: $(LIB) $(PROGS) $(TESTS)
build-tests: $(LIB) $(PROGS) $(chk_TESTS)
# General rule for recursive building targets.
# BUILT_SOURCES contain targets that need to be built before anything else
@@ -675,7 +826,7 @@ check-clean ::
# Tell Automake to build tests when the user types `make all' (this is
# not its default behavior). Also build EXTRA_LIB and EXTRA_PROG since
# Automake won't build them automatically, either.
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(TESTS)
all-local: $(EXTRA_LIB) $(EXTRA_PROG) $(chk_TESTS)
# make install-doc doesn't do anything outside of doc directory, but
# Makefiles should recognize it.
@@ -699,7 +850,7 @@ check-install: installcheck
# Set HDF5_Make_Ignore to a non-blank string to ignore errors inside the loop.
# The timestamps give a rough idea how much time the tests use.
#
# Note that targets in TESTS (defined above) will be built when the user
# Note that targets in chk_TESTS (defined above) will be built when the user
# types 'make tests' or 'make check', but only programs in TEST_PROG,
# TEST_PROG_PARA, or TEST_SCRIPT will actually be executed.
check-TESTS: test
@@ -709,7 +860,7 @@ test _test:
@$(MAKE) build-check-p
# Actual execution of check-s.
build-check-s: $(LIB) $(PROGS) $(TESTS)
build-check-s: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG)$(TEST_SCRIPT)"; then \
echo "===Serial tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -733,10 +884,10 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $(HDF5_DRIVER) $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $(HDF5_DRIVER) $${tname} $(TEST_FLAGS) Test Log" >> $${log};\
else \
@@ -745,7 +896,7 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_:
fi; \
echo "============================" >> $${log}; \
srcdir="$(srcdir)" \
$(TIME) $(RUNTESTS) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
$(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \
&& touch $(@:.chkexe_=.chkexe) || \
(test $$HDF5_Make_Ignore && echo "*** Error ignored") || \
(cat $${log} && false) || exit 1; \
@@ -772,10 +923,10 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
echo "No need to test $${tname} again."; \
else \
echo "============================" > $${log}; \
if test "X$(HDF_FORTRAN)" = "Xyes"; then \
if test "X$(FORTRAN_API)" = "Xyes"; then \
echo "Fortran API: Testing $${tname} $(TEST_FLAGS)"; \
echo "Fortran API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
elif test "X$(HDF_CXX)" = "Xyes"; then \
elif test "X$(CXX_API)" = "Xyes"; then \
echo "C++ API: Testing $${tname} $(TEST_FLAGS)"; \
echo "C++ API: $${tname} $(TEST_FLAGS) Test Log" >> $${log}; \
else \
@@ -799,7 +950,7 @@ $(TEST_SCRIPT_CHKSH) $(TEST_SCRIPT_PARA_CHKSH) dummysh.chkexe_:
fi
# Actual execution of check-p.
build-check-p: $(LIB) $(PROGS) $(TESTS)
build-check-p: $(LIB) $(PROGS) $(chk_TESTS)
@if test -n "$(TEST_PROG_PARA)$(TEST_SCRIPT_PARA)"; then \
echo "===Parallel tests in `echo ${PWD} | sed -e s:.*/::` begin `date`==="; \
fi
@@ -816,7 +967,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
@for test in $(TEST_PROG_PARA) dummy; do \
if test $$test != dummy; then \
$(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \
RUNTESTS="$(RUNPARALLEL)" || exit 1; \
RUNEXEC="$(RUNPARALLEL)" || exit 1; \
fi; \
done
@for test in $(TEST_SCRIPT_PARA) dummy; do \
@@ -829,7 +980,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS)
fi
# Run test with different Virtual File Driver
check-vfd: $(LIB) $(PROGS) $(TESTS)
check-vfd: $(LIB) $(PROGS) $(chk_TESTS)
@for vfd in $(VFD_LIST) dummy; do \
if test $$vfd != dummy; then \
echo "============================"; \
@@ -839,6 +990,7 @@ check-vfd: $(LIB) $(PROGS) $(TESTS)
HDF5_DRIVER=$$vfd $(MAKE) $(AM_MAKEFLAGS) check || exit 1; \
fi; \
done
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@@ -39,7 +39,6 @@
#endif // H5_NO_STD
#endif
#include "testhdf5.h" // C test header file
#include "H5Cpp.h" // C++ API header file
#ifndef H5_NO_NAMESPACE
@@ -62,7 +61,7 @@ const int H5Z_FILTER_BOGUS = 305;
static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
const unsigned int *cd_values, size_t nbytes, size_t *buf_size, void **buf);
/*-------------------------------------------------------------------------
* Function: test_create
*
@@ -82,7 +81,7 @@ static size_t filter_bogus(unsigned int flags, size_t cd_nelmts,
static herr_t
test_create( H5File& file)
{
TESTING("create, open, close");
SUBTEST("create, open, close");
// Setting this to NULL for cleaning up in failure situations
DataSet *dataset = NULL;
@@ -180,7 +179,7 @@ test_create( H5File& file)
return -1;
}
} // test_create
/*-------------------------------------------------------------------------
* Function: test_simple_io
*
@@ -203,7 +202,7 @@ static herr_t
test_simple_io( H5File& file)
{
TESTING("simple I/O");
SUBTEST("simple I/O");
int points[100][200];
int check[100][200];
@@ -267,7 +266,79 @@ test_simple_io( H5File& file)
return -1;
}
} // test_simple_io
/*-------------------------------------------------------------------------
* Function: test_datasize
*
* Purpose: Tests DataSet::getInMemDataSize().
*
* Return: Success: 0
*
* Failure: -1
*
* Programmer: Binh-Minh Ribler
* Thursday, March 22, 2012
*
* Modifications:
*
*-------------------------------------------------------------------------
*/
static herr_t
test_datasize()
{
SUBTEST("DataSet::getInMemDataSize()");
int points[100][200];
int check[100][200];
int i, j, n;
try
{
// Open FILE1.
H5File file(FILE1, H5F_ACC_RDWR, FileCreatPropList::DEFAULT, FileAccPropList::DEFAULT);
// Open dataset DSET_SIMPLE_IO_NAME.
DataSet dset = file.openDataSet (DSET_SIMPLE_IO_NAME);
// Get the dataset's dataspace to calculate the size for verification.
DataSpace space(dset.getSpace());
// Get the dimension sizes.
hsize_t dims[2];
int n_dims = space.getSimpleExtentDims(dims);
// Calculate the supposed size. Size of each value is int (4), from
// test_simple_io.
int expected_size = 4 * dims[0] * dims[1];
// getInMemDataSize() returns the in memory size of the data.
size_t ds_size = dset.getInMemDataSize();
// Verify the data size.
if (ds_size != expected_size)
{
H5_FAILED();
cerr << " Expected data size = " << expected_size;
cerr << " but dset.getInMemDataSize() returned " << ds_size << endl;
throw Exception("test_compression", "Failed in testing DataSet::getInMemDataSize()");
}
PASSED();
return 0;
} // end try
// catch all dataset, space, plist exceptions
catch (Exception E)
{
cerr << " FAILED" << endl;
cerr << " <<< " << E.getDetailMsg() << " >>>" << endl << endl;
return -1;
}
} // test_datasize
/*-------------------------------------------------------------------------
* Function: test_tconv
*
@@ -294,7 +365,7 @@ test_tconv( H5File& file)
in = new char [4*1000000];
//assert (in);
TESTING("data type conversion");
SUBTEST("data type conversion");
// Initialize the dataset
for (int i = 0; i < 1000000; i++) {
@@ -352,7 +423,7 @@ test_tconv( H5File& file)
} // test_tconv
/* This message derives from H5Z */
const H5Z_class_t H5Z_BOGUS[1] = {{
const H5Z_class2_t H5Z_BOGUS[1] = {{
H5Z_CLASS_T_VERS, /* H5Z_class_t version number */
H5Z_FILTER_BOGUS, /* Filter id number */
1, 1, /* Encode and decode enabled */
@@ -390,7 +461,7 @@ filter_bogus(unsigned int flags, size_t cd_nelmts,
return nbytes;
}
/*-------------------------------------------------------------------------
* Function: test_compression
*
@@ -413,8 +484,10 @@ filter_bogus(unsigned int flags, size_t cd_nelmts,
static herr_t
test_compression(H5File& file)
{
#ifndef H5_HAVE_FILTER_DEFLATE
const char *not_supported;
not_supported = " Deflate compression is not enabled.";
#endif /* H5_HAVE_FILTER_DEFLATE */
int points[100][200];
int check[100][200];
hsize_t i, j, n;
@@ -423,7 +496,7 @@ test_compression(H5File& file)
for (i = n = 0; i < 100; i++)
{
for (j = 0; j < 200; j++) {
points[i][j] = n++;
points[i][j] = (int)n++;
}
}
char* tconv_buf = new char [1000];
@@ -447,7 +520,7 @@ test_compression(H5File& file)
dscreatplist.setDeflate (6);
#ifdef H5_HAVE_FILTER_DEFLATE
TESTING("compression (setup)");
SUBTEST("Compression (setup)");
// Create the dataset
dataset = new DataSet (file.createDataSet
@@ -459,7 +532,7 @@ test_compression(H5File& file)
* STEP 1: Read uninitialized data. It should be zero.
*----------------------------------------------------------------------
*/
TESTING("compression (uninitialized read)");
SUBTEST("Compression (uninitialized read)");
dataset->read ((void*) check, PredType::NATIVE_INT, DataSpace::ALL, DataSpace::ALL, xfer);
@@ -481,13 +554,13 @@ test_compression(H5File& file)
* to it.
*----------------------------------------------------------------------
*/
TESTING("compression (write)");
SUBTEST("Compression (write)");
for (i=n=0; i<size[0]; i++)
{
for (j=0; j<size[1]; j++)
{
points[i][j] = n++;
points[i][j] = (int)n++;
}
}
@@ -499,7 +572,7 @@ test_compression(H5File& file)
* STEP 3: Try to read the data we just wrote.
*----------------------------------------------------------------------
*/
TESTING("compression (read)");
SUBTEST("Compression (read)");
// Read the dataset back
dataset->read ((void*)check, PredType::NATIVE_INT, DataSpace::ALL, DataSpace::ALL, xfer);
@@ -522,7 +595,7 @@ test_compression(H5File& file)
* dataset although we rewrite the whole thing.
*----------------------------------------------------------------------
*/
TESTING("compression (modify)");
SUBTEST("Compression (modify)");
for (i=0; i<size[0]; i++)
{
@@ -553,7 +626,7 @@ test_compression(H5File& file)
* object header.
*----------------------------------------------------------------------
*/
TESTING("compression (re-open)");
SUBTEST("Compression (re-open)");
// close this dataset to reuse the var
delete dataset;
@@ -579,7 +652,7 @@ test_compression(H5File& file)
* boundaries (we know that case already works from above tests).
*----------------------------------------------------------------------
*/
TESTING("compression (partial I/O)");
SUBTEST("Compression (partial I/O)");
const hsize_t hs_size[2] = {4, 50};
const hsize_t hs_offset[2] = {7, 30};
@@ -615,7 +688,7 @@ test_compression(H5File& file)
PASSED();
#else
TESTING("deflate filter");
SUBTEST("deflate filter");
SKIPPED();
cerr << not_supported << endl;
#endif
@@ -625,7 +698,7 @@ test_compression(H5File& file)
* to write and then read the dataset.
*----------------------------------------------------------------------
*/
TESTING("compression (app-defined method)");
SUBTEST("Compression (app-defined method)");
if (H5Zregister (H5Z_BOGUS)<0)
throw Exception("test_compression", "Failed in app-defined method");
@@ -697,7 +770,7 @@ static herr_t
test_multiopen (H5File& file)
{
TESTING("multi-open with extending");
SUBTEST("Multi-open with extending");
DataSpace* space = NULL;
try {
@@ -758,7 +831,7 @@ test_multiopen (H5File& file)
}
} // test_multiopen
/*-------------------------------------------------------------------------
* Function: test_types
*
@@ -778,7 +851,7 @@ test_multiopen (H5File& file)
static herr_t
test_types(H5File& file)
{
TESTING("various datatypes");
SUBTEST("Various datatypes");
size_t i;
DataSet* dset = NULL;
@@ -947,9 +1020,9 @@ test_types(H5File& file)
return -1;
}
} // test_types
/*-------------------------------------------------------------------------
* Function: main
* Function: test_dset
*
* Purpose: Tests the dataset interface (H5D)
*
@@ -970,13 +1043,16 @@ test_types(H5File& file)
*
*-------------------------------------------------------------------------
*/
int
main()
#ifdef __cplusplus
extern "C"
#endif
void test_dset()
{
hid_t fapl_id;
fapl_id = h5_fileaccess(); // in h5test.c, returns a file access template
int nerrors=0; // keep track of number of failures occurr
try
{
// Turn of the auto-printing when failure occurs so that we can
@@ -1000,19 +1076,19 @@ main()
nerrors += test_compression(file)<0 ?1:0;
nerrors += test_multiopen (file)<0 ?1:0;
nerrors += test_types(file)<0 ?1:0;
// Close the file before testing data size.
file.close();
nerrors += test_datasize() <0 ? 1:0;
}
catch (Exception E)
{
return(test_report(nerrors, H5std_string(" Dataset")));
test_report(nerrors, H5std_string(" Dataset"));
}
// Clean up data file
cleanup_dsets();
// Print out dsets test results
cerr << endl << endl;
return(test_report(nerrors, H5std_string(" Dataset")));
} // main
} // test_dset
/*-------------------------------------------------------------------------
* Function: cleanup_dsets

View File

@@ -112,7 +112,7 @@ void issue_fail_msg(const char* where, int line, const char* file_name,
* different, the function will print out a message and the
* different values. This function is made to reuse the code
* segment that is used in various places throughout
* the test code. Where the C version of this code segment
* the test code. Where the C version of this code segment
* "goto error," this function will return -1.
*
* Return: Success: 0
@@ -138,6 +138,43 @@ int check_values (hsize_t i, hsize_t j, int apoint, int acheck)
return 0;
} // check_values
/*-------------------------------------------------------------------------
* Function: verify_val (const char*, const char*,...)
*
* Purpose: Compares two character strings. If they are
* different, the function will print out a message and the
* different values.
*
* Return: Success: 0
*
* Failure: -1
*
* Programmer: Binh-Minh Ribler
* May 2, 2010
*
* Modifications:
*
*-------------------------------------------------------------------------
*/
void verify_val(const char* x, const char* value, const char* where, int line, const char* file_name)
{
if (GetTestVerbosity()>=VERBO_HI)
{
cerr << endl;
cerr << " Call to routine: " << where << " at line " << line
<< " in " << file_name << " had value " << x << endl;
}
if (strcmp(x, value) != 0)
{
cerr << endl;
cerr << "*** UNEXPECTED VALUE from " << where << " should be "
<< value << ", but is " << x << " at line " << line
<< " in " << file_name << endl;
IncTestNumErrs();
throw TestFailedException(where, "");
}
}
//--------------------------------------------------------------------------
// Function: InvalidActionException default constructor
//--------------------------------------------------------------------------

Some files were not shown because too many files have changed in this diff Show More