Commit Graph

4247 Commits

Author SHA1 Message Date
Quincey Koziol
97b6832023 [svn-r15211] Description:
Update the gcc flags for version 4.3

	Clean up warnings

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-12 23:52:22 -05:00
Quincey Koziol
97e6dc5d87 [svn-r15208] Description:
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:
        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-12 12:51:58 -05:00
Quincey Koziol
d0abcaaa0f [svn-r15188] Description:
Avoid leaking memory when copying the internal "shared" struct for
a named datatype when it's already been opened earlier.

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-10 12:23:52 -05:00
Scott Wegner
7a92820e35 [svn-r15183] 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 13:41:29 -05:00
HDF Tester
98d73aa397 [svn-r15172] Snapshot version 1.9 release 6 2008-06-08 06:23:55 -05:00
Scott Wegner
259d1afce9 [svn-r15165] 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:11:46 -05:00
Scott Wegner
78a038818e [svn-r15156] Purpose: Update H5private.h with new file name
Description:
Forgot to change the filename reference in H5private.h.  This update fixes it.

Tested:
kagiso
2008-06-05 15:13:33 -05:00
Scott Wegner
abc065ad15 [svn-r15154] Purpose: Rename new source file from win32defs.h to H5win32defs.h.
Description:
To follow the naming convention for source files, we simply rename the new header to H5win32defs.h

Tested:
None, simple name change.
2008-06-05 15:02:27 -05:00
Scott Wegner
532e23b808 [svn-r15150] 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 13:52:19 -05:00
Quincey Koziol
55faa4534b [svn-r15146] Description:
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:
        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/64 2.10 (linew) in debug 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-05 11:45:03 -05:00
Quincey Koziol
771bae8888 [svn-r15131] Description:
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:
        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.2 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-06-03 14:44:12 -05:00
Scott Wegner
d83709c4e6 [svn-r15128] 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:52 -05:00
Scott Wegner
ebd6e8a9c6 [svn-r15096] Purpose: Windows Project Cleanup-- Unify Windows h5tinit
Description:
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
no need to test other platforms, Windows-specific source change
2008-05-29 14:19:30 -05:00
Quincey Koziol
bdd56bd8da [svn-r15037] Description:
Better cleanup of internal structures when no szip encoder.

Tested on:
    Linux/32 2.6 (kagiso) w/szip-no encoder
2008-05-19 01:03:16 -05:00
Albert Cheng
ca94c839d5 [svn-r15036] 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 only. It is a trivia change.
2008-05-19 00:06:51 -05:00
Quincey Koziol
2adc43f812 [svn-r15034] Description:
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:34:02 -05:00
Quincey Koziol
22f48585bd [svn-r15015] Description:
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:04:56 -05:00
Mike McGreevy
389cc309c5 [svn-r15007] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 11:42:03 -05:00
Albert Cheng
7b7f10a444 [svn-r15003] 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.
2008-05-15 00:12:00 -05:00
Scott Wegner
f9835e1019 [svn-r14973] 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:01:38 -05:00
HDF Tester
6cdadf3db5 [svn-r14965] Snapshot version 1.9 release 5 2008-05-11 05:41:59 -05:00
Mike McGreevy
5bd2405c11 [svn-r14933] Purpose: Updating HDF5 to use automake 1.10.1 and libtool 2.2.2
Description: Applying update to autotools that was applied to 1.8 a couple
             of weeks ago to the trunk.

             Updated bin/reconfigure script to reflect the new versions of 
             libtool and automake in the /home1/packages/ directory.

             Rearranged configure.in script. When using libtool 2.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 (h5committest)
2008-05-05 13:35:55 -05:00
Scot Breitenfeld
aec106e324 [svn-r14903] Undoing change committed in r14902. 2008-04-30 14:51:13 -05:00
Scot Breitenfeld
5773fd34bc [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. New fortran wrappers added. 2008-04-30 14:23:26 -05:00
HDF Tester
5ab3c53745 [svn-r14864] Snapshot version 1.9 release 4 2008-04-27 06:18:36 -05:00
Quincey Koziol
495ca9c7bb [svn-r14860] 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:
        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.2 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-04-24 10:03:41 -05:00
HDF Tester
a0136eda8d [svn-r14849] Snapshot version 1.9 release 3 2008-04-20 06:32:00 -05:00
Vailin Choi
a642c440f7 [svn-r14847] 1. test/links.c: add tests specific for windows
remove HDputenv() from external_link_env() test
                 (will add script later to set HDF5_EXT_PREFIX for running the test)
                 modify and add more comments
2. src/H5private.h: remove #define for HDputenv()

Tested on kagiso, linew and smirom.
2008-04-16 12:13:20 -05:00
HDF Tester
0d68a748cc [svn-r14832] Snapshot version 1.9 release 2 2008-04-13 06:56:56 -05:00
Vailin Choi
0f7c9bcd5e [svn-r14822] 1. src/H5private.h: fixed a bug in CHECK_ABSOLUTE() for windows.
2. test/links.c: fixed one external link test to be the same as in 1.8.
2008-04-09 08:56:52 -05:00
Pedro Vicente Nunes
ae63d4bf4f [svn-r14821] Having this signature
H5_DLL herr_t 	H5_build_extpath(const char *, char **/*out*/);

makes this stupid warning in windows that gets repeated in every source file

c:\_pvn\hdf5\src\h5private.h(958) : warning C4138: '*/' found outside of comment

changed signature to 

H5_DLL herr_t   H5_build_extpath(const char *, char ** /*out*/ );

compiler is happy now

tested: windows, linux
2008-04-08 15:32:38 -05:00
HDF Tester
584b7f16d6 [svn-r14799] Snapshot version 1.9 release 1 2008-04-06 05:05:45 -05:00
Vailin Choi
5ad99f2c31 [svn-r14794] Use putenv() instead of setenv() in test/links.c
(solaris did not support setenv() and unsetenv())
2008-04-03 23:16:53 -05:00
Vailin Choi
04c174bde0 [svn-r14789] 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 13:29:17 -05:00
HDF Tester
18646cdfc6 [svn-r14759] Snapshot version 1.9 release 0 2008-03-20 05:22:22 -05:00
Quincey Koziol
afd5021ef9 [svn-r14738] Description:
Bring r14737 back from the 1.8 branch:    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 17:12:13 -05:00
Quincey Koziol
53c6f67778 [svn-r14720] 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:21:37 -05:00
Vailin Choi
50be73bf3b [svn-r14709] Fixed the assert() failures (development mode) from Wed. daily tests:
Add 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.
2008-03-06 12:14:21 -05:00
Vailin Choi
4de5549f92 [svn-r14702] 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".
2008-03-04 15:02:57 -05:00
Elena Pourmal
349702f97d [svn-r14547] Maintenance: Changed version number to 1.9.0 as we agreed on the HDF5 developers meeting
on February 8, 2008; modified docs files to point to the documentation snapshots.
2008-02-11 14:09:52 -05:00
Elena Pourmal
2b51b8a74b [svn-r14526] Maintenance: Changed version number in the trunk to be 1.9.0-snap0 2008-02-06 21:26:45 -05:00
Elena Pourmal
d5ef396e1d [svn-r14484] Maintenance: Changed version number to 1.8.0 in preparation for the release. 2008-02-01 12:23:58 -05:00
Mike McGreevy
61bd459731 [svn-r14463] Purpose: Updating shared library version number for 1.8.0 release.
Description:	config/lt_vers.am was updated as follows due to changes in API
		since last version update:

		LT_VERS_INTERFACE = 5
		LT_VERS_REVISION = 0
		LT_VERS_AGE = 0

Tested: 	kagiso
2008-01-28 16:04:18 -05:00
Elena Pourmal
7ec36c4a3d [svn-r14460] Maintenance: Created rc2 tar ball and released to the ftp server;
Changed version number to hdf501.8.0-rc3 using bin/h5vers script
2008-01-27 11:41:14 -05:00
John Mainzer
5342c5451a [svn-r14458] Fixed coredump under production 64-bit solaris.
As best I can tell, H5C_make_space_in_cache() was accessing memory 
that had been deallocated -- however the bug was easy to mask, and 
jumped around even in different runs of the same executable.  While 
I was never able to generate a definitive test case that exposed 
exactly where the core dump occured, I was able to generate print 
statement traces which made it clear that I was accessing freed
memory.

In any case, reworking the code to avoid the reference to freed
cache entries seems to have fixed the problem.

Tested serial production on Phoenix, and commit tested.  Also, 
partial tests Linew.
2008-01-25 14:06:09 -05:00
John Mainzer
271e4e4663 [svn-r14450] Fixed metadata cache performance bug introduced while adding code to
detect and handle the case in which the skip list or LRU is modified 
out from under a scan of same by the flush callback of the entry under
consideration.

Test serial debug, serial production, and parallel debug on phoenix,
and commit tested.
2008-01-23 16:38:47 -05:00
Elena Pourmal
c96f1e9f34 [svn-r14448] Maintenance: Released version hdf5-1.8.0-rc1 to the public fTP server and changed
the version to hdf5-1.8.0-rc2 using bin/h5vers script.

Platforms tested: ran test for hdf5-1.8.0-rc1 source on kagiso after craeting public tar ball.
2008-01-21 12:15:43 -05:00
John Mainzer
9d241fd66e [svn-r14445] Added code to detect the situation in which a metadata cache entry flush
callback functions modifies the skip list or LRU out from under a partial
or complete flush of the cache.  This is a test for a situation that 
should not occur, but we test anyway.

Also added code to skip longer tests in cache_api in express tests.

Tested serial and parallel on phoenix (debian --x86-32), and commit test.

Elena commit tested as well, and ran a manual test under MacOS X.
2008-01-20 00:01:29 -05:00
John Mainzer
d236e2a992 [svn-r14442] Modified metadata cache to adapt more quickly to the insertion of a
large entry, or to a large increases in the size of an existing entry.
This required some additions to the cache configuration structure, and
thus will require changes in the metadata cache documentation.

The basic idea is to monitor the size of entries as they are loaded,
inserted, or increased in size.  If the size of the entry (or increase)
exceeds some user selected fraction of the size of the cache, increase
the size of the cache.

Note that this fix was designed quickly -- while it deals with the 
use case that exposed the problem, we may have to revisit the issue
later.

Tested serial and parallel on Phoenix, and h5committest.
2008-01-18 12:52:12 -05:00
Quincey Koziol
6bc94eb959 [svn-r14422] Description:
Clean up thread safety code a bit more...

Tested on:
    Mac OS X/32 10.5.1 (amazon) w/threadsafe
2008-01-15 16:40:00 -05:00