Commit Graph

394 Commits

Author SHA1 Message Date
Quincey Koziol
c3a1173026 [svn-r6268] Purpose:
Code improvement

Description:
    Add extra pair of braces to API versions of FUNC_ENTER/FUNC_LEAVE macros,
    to make API <-> non-API mismatches obvious.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-01-11 14:54:57 -05:00
Quincey Koziol
f8da76cb9f [svn-r6266] Purpose:
Code cleanup/new feature.

Description:
    Split FUNC_LEAVE into API and non-API specific versions.  This allows a
    solution to compiling this branch with C++, as well as reducing the size
    of the binaries produced.

Platforms tested:
    FreeBSD 4.7 (sleipnir) w/serial, parallel (including MPE) & thread-safe
2003-01-10 15:26:02 -05:00
Quincey Koziol
98f01e2df2 [svn-r6255] Purpose:
Code cleanup

Description:
    Clean up a few more warnings and update dependencies.

Platforms tested:
    Linux 2.2.18smp (eirene) serial & parallel
2003-01-09 13:40:19 -05:00
Albert Cheng
bd54330abf [svn-r6232] Purpose:
new feature
Description:
    Added MPICH/MPE instrumentation support.
    All source code are bracketed by the macro H5_HAVE_MPE.
    Use "--enable-mpe" to configure it in.
    Currently only worked in Eirene because the MPE library is
    not installed in all machines yet.
    The added file, H5MPprivate.h, holds HDF5/MPE related defintions.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? Yep.
    Other platforms/configurations tested?
	--enable-mpe feature tested in Eirene.
2003-01-03 14:37:48 -05:00
MuQun Yang
1c0e435421 [svn-r6202]
Purpose:
Fix bugs for windows platform.
Description:
1. Update HDlseek for windows
2. Update H5Otime.c for normal time(non-daylight time)
3. Add H5_DLL in front of two functions so that windows DLL can work.
Solution:
Platforms tested:
windows 2000, eirene(since most updates have WIN32 around it, not need to test other platforms)
Misc. update:
    Update MANIFEST if you add or remove any file.
    Update release_docs/RELEASE for bug fixes, new features, etc.
    Update applicable document files too.
2002-12-13 11:25:51 -05:00
Pedro Vicente Nunes
577bfbfc48 [svn-r6140] Purpose:
code warrior fix
 CW does not recognize the _stati64 type, changed HDstat macro accordingly


Platforms tested:


   windows 2000 (MSVC, Code warrior)
   linux
2002-11-26 11:19:54 -05:00
MuQun Yang
e5b28ef37b [svn-r5931]
Purpose:
__DLL__ is a keyword in some platforms and __DLL__ is also defined as a macro for windows DLL applications.
That causes problems.
Description:
Solution:
Use H5_DLL*** to replace __DLL***__ at all header files.
Change the macro defination at H5api_adpt.h.
Platforms tested:
linux2.2.18smp, irix64, solaris 2.7 and windows 2000
2002-09-20 15:36:09 -05:00
Quincey Koziol
8f7425d2a2 [svn-r5867] Purpose:
Code cleanup

Description:
    Changed the last HRETURN* statements in the FUNC_ENTER macros into HGOTO*
    macros, which reduces the size of the library binary in certain
    configurations by another 10%

Platforms tested:
    FreeBSD 4.6 (sleipnir) serial & parallel, IRIX64 6.5 (modi4) serial &
    parallel
2002-08-09 15:48:23 -05:00
Robb Matzke
71d795f3ef [svn-r5864] ./hdf5-devel/src/H5private.h
Purpose:
    Merged from 1.4 branch
Description:
    API tracing improvements
Platforms tested:
    Linux (--disable-hsizet didn't work before my changes and still doesn't
    work, but --enable-hsizet is fine).



Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue.  Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
2002-08-09 09:55:53 -05:00
Quincey Koziol
99eee6dff9 [svn-r5814] Purpose:
Bug Fix

Description:
    It was possible to create corrupted metadata information (either in memory
    or in the file or both) with a parallel I/O program because of the way
    metadata writes were being handled for writes out of the metadata cache.

Solution:
    Added a dataset transfer property called "block before metadata write"
    which is used by the MPI-I/O and MPI-posix drivers to sync up all the
    processes before attempting a metadata write.  This property is currently
    only for metadata writes from the metadata cache.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-07-19 14:27:09 -05:00
Quincey Koziol
c40dc777a7 [svn-r5793] Purpose:
Code cleanup

Description:
    Changed a few direct calls to posix functions to use proper wrapper macros.

    Also, changed method of extending file to use ftruncate().

Platforms tested:
    FreeBSD 4.6 (sleipnir) && IRIX64 6.5 (modi4)
2002-07-15 10:13:13 -05:00
Quincey Koziol
58b9c34fc5 [svn-r5782] Purpose:
New feature

Description:
    Add support in for "dmalloc" debugging malloc library to configure script
    and library headers.

Platforms tested:
    IRIX64 6.5 (modi4) and FreeBSD 4.6 (sleipnir)
2002-07-12 13:29:41 -05:00
Quincey Koziol
e69e970a1c [svn-r5471] Purpose:
Code cleanup

Description:
    Broke the FUNC_ENTER macro into several macros, with more specialized
    uses (which followup mail will describe).  This was designed to move
    most/all of the checks which could be done at compile time to that point,
    instead of needlessly performing them (over & over :-) at run-time.
    This reduces the library's size (and thus staticly linked binaries) and
    has a minor speedup effect also.

Platforms tested:
    IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing
    on FreeBSD and Solaris immediately after the checkin.
2002-05-29 10:07:55 -05:00
Quincey Koziol
ca912c389e [svn-r5467] Purpose:
Code cleanup.

Description:
    Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros
    equivalents in the SAF library and adapted them to our library.  I added
    an additional macro which is equivalent to FUNC_ENTER:
        FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but
            none of the library or interface initialization code.  This is to
            be used _only_ for static functions and those which explicitly
            cannot have the library or interface initialization code enabled
            (like the API termination routines, etc.).

    This allowed many more of the functions in the library [but not all yet :-(]
    to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs.

    It also reduced the size of the library and executables (by cutting out a
    bunch of code which was never executed), I'll e-mail the exact results when
    I've finished editing it.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-28 13:17:12 -05:00
Quincey Koziol
03ab48c9c3 [svn-r5444] Purpose:
Code cleanup

Description:
    Clean up warnings on IRIX64 6.5 (modi4)

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-20 13:43:31 -05:00
Pedro Vicente Nunes
e12beea624 [svn-r5437]
Purpose:
   eliminate warnings on win32
Description:
   some conversion warnings were being issued
Solution:
    added some type casts
Platforms tested:
    w2000, linux

changed the HDmemset to include a cast in win32; this was just to eliminate a compiler
warning. probably the macro can also be used in unix

#ifdef WIN32
#define HDmemset(X,C,Z)		memset((void*)(X),C,Z)
#else /* WIN32 */
#define HDmemset(X,C,Z)		memset(X,C,Z)
#endif /* WIN32 */


the list of previous warnings was
D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data

D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data

D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
2002-05-18 02:24:49 -05:00
Albert Cheng
3b36f55715 [svn-r5342] Description:
Removed unused code that is related to inline issue.
    hdf5 C source now uses H5_inline for the non-standard
    inline feature.  No need to undefine/redefine the symbol
    inline itself.
Platforms tested:
    eirene.
2002-05-02 16:44:46 -05:00
Pedro Vicente Nunes
bcc1b57287 [svn-r5324]
Purpose:
    updated some comments regarding Code Warrior , removed other debugging comments
Platforms tested:
    w2000
2002-05-02 09:50:50 -05:00
Quincey Koziol
92527f751f [svn-r5312] Purpose:
Bug Fix

Description:
    Add TRACE8 and TRACE9 macros

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-05-01 10:35:06 -05:00
Albert Cheng
73683e4380 [svn-r5278] Purpose:
Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC
Description:
    configure generates many macros definitions on the fly and
    were stored in src/H5config.h which is included by H5public.h.
    But other software that uses hdf5 may also run their own configure.
    There can be a clash in macro name space.  We decided awhile ago
    to prepend all generated macros with "H5_" to avoid conflicts.
    The process has started and this commit completes it (at least attempt
    to).
Solution:
    Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to
    H5_SIZEOF_xxx and H5_HAVE_xxx).  Then H5private.h no longer includes
    H5config.h.  This cuts H5config.h away from HDF5 source code.
Pending issues:
    The module of fortran and pablo are to be resolved in a different
    commit.
Platforms tested:
    eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
2002-04-28 03:34:17 -05:00
MuQun Yang
6030317e1e [svn-r5244]
Purpose:
     update macro HDstat
Description:
    The original defination of HDstat only defines HDstat as stat.
    the file size defined at struct stat is int32,
    However for files greater than 4G(or 2G)file, lookup of file size will
    fail on windows when using stat. Add a macro for windows,define HDstat
    as istat64.
    This fix is the same as HDfstat macro.
Solution:
Platforms tested:
linux 2.2.18
2002-04-24 09:52:36 -05:00
Albert Cheng
f5d5e9e2ff [svn-r5205] Purpose:
Code cleanup
Description:
    Platform dependent code related to the struct stat and fstat
    calls polluted source codes.  Hard to maintain.
Solution:
    Platform dependent code are moved to H5private.h and then internal
    code can #include H5private.h.  Repeat those macro definition for
    the stdio and multi drivers since they area examples for writing
    a virtual file driver.  They must not use any internal code.
Platforms tested:
    eirene (parallel), modi4 (serial including gass driver.)
2002-04-19 02:20:41 -05:00
MuQun Yang
631b344df2 [svn-r5101]
Purpose:
    fix a windows bug
Description:
    1. To create a >4GB file, fstati64 has to be used instead of fstat.
    change fstat to fstati64 for WIN32 macroes. Some discussions are going on
    the general issue on how to better handle with WIN32 or other similar platform.
    This check-in is just a reminder not to forget the windows bug.
    2. erase a WIN32 macro(include winsock2.h) at h5detect.c. It is not a problem now.
Solution:
    use fstati64 instead of fstat for win32.
Platforms tested:
  windows2000(confirmed at linux machine eirene)
2002-03-27 15:47:24 -05:00
Quincey Koziol
47d88766db [svn-r4706] Purpose:
Code cleanup
Description:
    Tweaked internal error handling macros to reduce the size of the library's
    object code by about 10-20%.

    Also cleaned up some compiler warnings...

Platforms tested:
    FreeBSD 4.4 (sleipnir)
2001-12-12 13:40:09 -05:00
Quincey Koziol
7c0c461e41 [svn-r4646] Purpose:
Bug fix
Description:
    Fix typo which caused thread-safe tests to fail over the weekend.
Platforms tested:
    IRIX64 6.5 (modi4) with thread-safe code enabled.
2001-11-27 13:02:55 -05:00
Quincey Koziol
05264c8878 [svn-r4642] Purpose:
Code cleanup
Description:
    Added macro to check for overflows when assigning a value to a variable
    which requires a cast down in size or precision.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-27 11:18:43 -05:00
Quincey Koziol
2e53165b47 [svn-r4619] Purpose:
Code cleanup
Description:
    Clean up thread-safety macros and neaten up code.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-20 13:56:24 -05:00
MuQun Yang
7957dc20af [svn-r4595]
Purpose:
     1. temporarily fixed mtime test when daylight saving changes on windows.
     2. move H5_inline defination for win32 to windows H5pubconf.h at H5private.h.
Description:
     1. the mtime test is not working when the daylight saving ends. Hard-coded back to the correct time. Need to find a universal solution later.
     2. Move H5_inline defination for win32 at H5private.h into windows specificed H5pubconf.h so that windows maintenance can be more easy to handle.
Solution:
     see above.
Platforms tested:
    windows 2000, confirmed at Linux Red Hat 6.2.
2001-11-08 08:35:13 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
Code cleanup (sorta)

Description:
    When the first versions of the HDF5 library were designed, I remembered
    vividly the difficulties of porting code from a 32-bit platform to a 16-bit
    platform and asked that people use intn & uintn instead of int & unsigned
    int, respectively.  However, in hindsight, this was overkill and
    unnecessary since we weren't going to be porting the HDF5 library to
    16-bit architectures.

    Currently, the extra uintn & intn typedefs are causing problems for users
    who'd like to include both the HDF5 and HDF4 header files in one source
    module (like Kent's h4toh5 library).

Solution:
    Changed the uintn & intn's to unsigned and int's respectively.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 17:09:56 -05:00
Quincey Koziol
5c8bcc1917 [svn-r4232] Purpose:
Bug fix.
Description:
    On some systems (linux when not using gcc) 'dev_t' is not actually
    a scalar variable.  This causes the code which compares dev_t's in
    the file drivers to not compile.  Also the H5_inline flag was not being
    set correctly in the H5private.h file.
Solution:
    Set the H5_inline flag to '' (i.e. define it, but don't assign it a value)
    if it is not currently defined.

    Use DEV_T_IS_SCALAR flag from configure to correctly compare dev_t's using
    memcmp instead of a scalar flag.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Linux 2.4.2 (chiba city cluster at Argonne)
2001-07-17 16:27:06 -05:00
Pedro Vicente Nunes
51af338345 [svn-r4160] Purpose:
added a include for io.h that was missing

Description:
Solution:
Platforms tested:

NT
2001-07-09 14:11:02 -05:00
Pedro Vicente Nunes
2aa68eaac1 [svn-r4155]
Purpose:

updated windows headers in these 2 src files


Description:
Solution:
Platforms tested:

NT:
2001-07-09 11:04:44 -05:00
Quincey Koziol
2457f15317 [svn-r4102] Purpose:
Code cleanup
Description:
    File driver macros were defined in this file, instead of the file driver
    source file.
Solution:
    Removed redundant file driver information, which is already in each file
    driver source file.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-03 11:27:38 -05:00
Pedro Vicente Nunes
f9f0de7aa0 [svn-r4099]
Purpose:
    Code Cleanup
Description:
    Updating CodeWarrior Port
Solution:
    Move around some Windows and Metroworks ifdefs, etc.
Platforms tested:
    Solaris 2.7 (arabica) Linux 2.2 (eirene)
2001-07-03 09:49:03 -05:00
Quincey Koziol
8c2c4cd51c [svn-r4088] Purpose:
Code cleanup
Description:
    Recent CodeWarrior patches have broken the Unix builds and moved code
    around in non-portable ways.
Solution:
    Patched things back up to try to accomodate CodeWarrior and still let the
    Unix builds work correctly.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-29 14:49:53 -05:00
Pedro Vicente Nunes
098ed81ec8 [svn-r4083]
code warrior support
and some clean up
the macros file_seek and file_offset_t that were repeated over sevral files were put only in
H5private.h
H5private .h was updated for win32


vthe
Description:
Solution:
Platforms tested:
2001-06-29 10:27:15 -05:00
Quincey Koziol
bc4828f90a [svn-r4068] Purpose:
Code cleanup...
Description:
    Added support for Windows to mkdir macro.
2001-06-22 16:53:30 -05:00
MuQun Yang
61b948ad23 [svn-r4046]
Purpose:
     bug fix for windows MVS
Description:
    adding various windows macros to make it work on windows platform
Solution:
    see above
Platforms tested:
     test on windows 2000, confirmed on linux.
2001-06-21 15:04:36 -05:00
Bill Wendling
1fdcafdc89 [svn-r4022] Purpose:
Code Cleanup
Description:
    Changed POSIX function calls to the HD* way of doing things. Checked
    with checkposix and tested on Linux.
Platforms tested:
    Linux
2001-06-19 16:49:01 -05:00
Quincey Koziol
fbc0f37dc5 [svn-r4017] Purpose:
Code cleanup
Description:
    Several system header files needed to be included on Linux machines to
    get the prototypes for some of the system calls we are using.
Solution:
    Added a new feature test macro for including the <features.h>
    header on Linux machines, to set up compile macros for system header
    files.
Platforms tested:
    Linux (eirene), FreeBSD 4.3 (hawkwind)
2001-06-19 11:21:35 -05:00
Bill Wendling
52ac5273d5 [svn-r4013] Purpose:
POSIX Removal
Description:
    Removed calls to POSIX functions and replaced them with the HD*
    equivalents.
Solution:
    Did just that. Also had to create two new HD* macros, the
    gettimeofday() and getrusage()
Platforms tested:
    Linux
2001-06-18 18:15:53 -05:00
Quincey Koziol
d41b9fffdf [svn-r4012] Purpose:
Clean up compiler warnings.
Description:
    Just code neatening mostly, some casts, etc.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-18 15:22:10 -05:00
Quincey Koziol
7a50d82277 [svn-r4010] Purpose:
Bug Fix
Description:
    uint64_t type was accidentally taken out and was causing tests on DEC
    UNIX to fail.
Solution:
    Brought back uint64_t type.
    Also cleaned up some comments and moved the sec2 specific macros back
    into the sec2 (and log) driver.
Platforms tested:
    DEC UNIX (gondolin)
2001-06-15 23:27:11 -05:00
Quincey Koziol
3627838234 [svn-r3998] Purpose:
Code cleanup
Description:
    float32 & float64 typedefs are not used in HDF5 library and are causing
    conflicts with Kent's h4toh5 library code.
Solution:
    Take the float32 & float64 typedefs out
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-12 13:54:04 -05:00
Pedro Vicente Nunes
504bc34f60 [svn-r3974] code warrior port 2001-06-07 11:03:02 -05:00
Albert Cheng
d3764cd73d [svn-r3916] Purpose:
New feature
Description:
    Added verification of H5_VERS_INFO in H5check_version().
Platforms tested:
    Eirene (linux).
2001-05-12 12:33:27 -05:00
Bill Wendling
5e483d0184 [svn-r3781] Purpose:
Update
Description:
    Changed

        #include <hdf_file.h>

    construct to

        #include "hdf_file.h"

    so that the GNU compiler can more easily pick up the dependencies
    which it places in the .depend and Dependencies files. Also
    regenerated the Dependencies to go along with this.
Platforms tested:
    Linux
2001-04-05 12:29:14 -05:00
Quincey Koziol
9d597efc99 [svn-r3743] Purpose:
Code cleanup
Description:
    Defined snprintf macro for non-UNIX platform which needed tweak.
Solution:
    Added extra ifdef around snprintf macro to accomodate platform.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-03-31 22:22:48 -05:00
Albert Cheng
6801f8f4c6 [svn-r3741] Purpose:
Improvment
Description:
    H5config.h and H5pubconf.h are generated by configure.  It does
    not have the #ifndef _H5config_H ... #endif guard to prevent
    duplicated definitions if it is included more than once.
    It is messy to try make configure to put in those guards.
Solution:
    HDF5 has set an internal rule that H5public.h includes H5pubconf.h
    and H5private.h includes H5config.h.  Source files should NOT include
    H5config.h or H5pubconf.h directly but include it via H5public.h or
    H5private.h respectively.   The #ifndef ... #endif in the H5public.h
    and H5private.h would prevent repeated definitions from repeated
    include.

    Adjusted H5FDstream.c and H5FDstream.h to follow this rule.
Platforms tested:
    modi4, eirene.
2001-03-31 16:57:04 -05:00
Quincey Koziol
69d8435cd1 [svn-r3317] Purpose:
Bug Fix
Description:
    Fix definition of strdup on Windows machines.
Solution:
    Merged duplicate definitions into one cohesive block of definitions.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-22 11:20:39 -05:00