summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r8370] Purpose:Albert Cheng2004-04-171-0/+3
| | | | | | | | | | | | | | Bug fix. Description: Not all machines (like Sun and AIX) support fabsl() and fabsf() used in test/dtypes.c. Changed the coding to use macro names HDfabsl and HDfabsf. Also set the two macros to use ABS for now so that they will work for all machines. (need more portable fixes which would involve configure.) Platforms tested: h5committested. (also tested in LANL QSC and Theta).
* [svn-r8287] Purpose:Quincey Koziol2004-03-301-0/+12
| | | | | | | | | | | | | | Bug fix/code cleanup Description: Copy Robb's feature in SSlib that checks that the name of the function used in the FUNC_ENTER macro is actually the name of function. Fixed a bunch of typos & copy-n-pasto's for functions with incorrect names. Platforms tested: FreeBSD 4.9 (sleipnir) w/parallel too minor to require h5committest
* [svn-r8038] Purpose:Quincey Koziol2004-01-081-1/+6
| | | | | | | | | | | | | | | | | | | | Bug fix Description: When two property lists are compared, the H5Pequal routine was just comparing the raw information for the property values. This causes problems when the raw information contains pointers to other information. Solution: Allow a 'compare' callback to be registered for properties, so that a user application get perform the comparison itself, allowing for "deep" compares of the property value. This was exported to the H5Pregister & H5Pinsert routines in the development branch, but not the release branch. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r8009] Purpose:Quincey Koziol2003-12-311-0/+11
| | | | | | | | | | | | | | | | | Bug fix Description: Add special-case handling to floating-point conversion tests to avoid problems with denormalized values on Cray T3E & T90 platforms. (Still not working on Cray SV1, but at least it's closer). Solution: Detect denormalized values and don't try to operate on them on the Crays. Platforms tested: FreeBSD 4.9 (sleipnir) Cray T3E (hubble.cray.com) Cray T90 (gypsy.cray.com)
* [svn-r7917] Purpose:Quincey Koziol2003-12-061-36/+50
| | | | | | | | | | | | | | | | | | | Code cleanup Description: Clean up compiler warnings, especially the 'FUNC' variable not used which comes out in production mode. Solution: Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API functions which don't need the 'FUNC' variable defined. (This will be _so_ much easier when C99 is standard on all our supposed platforms, since it has a __FUNC__ macro... ) Platforms tested: FreeBSD 4.9 (sleipnir) too minor for h5committest (although there were lots of files changed, the change was minor in each one)
* [svn-r7872] Purpose:Quincey Koziol2003-11-211-0/+1
| | | | | | | | | | | New macro Description: Introduce LLONG_MIN macro to match LLONG_MAX macro Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7827] Purpose:Quincey Koziol2003-11-081-6/+6
| | | | | | | | | | | | Bug fix Description: Make --disable-hsizet work properly again by fixing a couple of tests and correcting the definition of SSIZET_MAX. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest not used, as it doesn't test this configuration.
* [svn-r7669] Purpose:Quincey Koziol2003-10-201-1/+2
| | | | | | | | | | | | | | | Refactor code Description: Use "template macro" technique to eliminate a huge amount of repeated code in type initialization code (almost 1000 lines, between this change and the changes to the H5Tconv.c file earlier). This centralizes the common parts of the code and makes the different parts of the code more obvious. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r7662] Purpose:Quincey Koziol2003-10-181-0/+3
| | | | | | | | | | | | | | | | | Refactor integer conversion macros Description: Turned integer conversion macros "inside" out, using an interlocking macro technique similar to templates in C++. The macro which actually performs the conversion is now invoked "genericly" from inside another macro, which will allow the inner conversion loop to be optimized in a much easier way. This "psuedo-template" technique could be useful for other semi-repetitious patterns in the library - possibly the datatype initialization code... Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r7411] Purpose:Quincey Koziol2003-08-261-0/+4
| | | | | | | | | | | Code cleanup Description: De-linted more modules Platforms tested: FreeBSD 4.8 (sleipnir) w/ & w/o stream enabled too minor to require h5committest
* [svn-r7297] Purpose:Quincey Koziol2003-08-081-1/+1
| | | | | | | | | | | | | | | | Code cleanup Description: Changed lines like: H5E_clear(H5E_get_my_stack()); to: H5E_clear(NULL); which performs the same operation. Platforms tested: h5committested
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-1/+1
|
* [svn-r7256] Purpose: gradual checkin for error apiRaymond Lu2003-07-231-0/+1
| | | | Platforms tested: RH 8(simple checkin)
* [svn-r7232] Purpose:Quincey Koziol2003-07-161-1/+11
| | | | | | | | | | | | | | | | | | | | Bug fix Description: When a non-default indexed storage B-tree internal 'K' value is set by the user, the chunked datasets created in that file (until it is closed) use the user's 'K' value and the data can be accessed correctly, but the 'K' value is not stored in the file. However, once the file is closed and re-opened, the non-default 'K' value is lost and the data in the chunked datasets will not be able to be accessed correctly. Solution: Store the indexed storage B-tree internal 'K' value in the superblock. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7203] Purpose:Quincey Koziol2003-07-101-6/+6
| | | | | | | | | | | | Code cleanup Description: Change names of macro parameters to H5_ASSIGN_OVERFLOW to make them easier to understand. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7186] Purpose:Quincey Koziol2003-07-091-1/+1
| | | | | | | | | | | Code cleanup Description: More tweaks to clean up warnings from lint. Platforms tested: FreeBSD 4.8 (sleipnir) not major enough to h5committest
* [svn-r7184] Purpose:Quincey Koziol2003-07-081-3/+3
| | | | | | | | | | | Code cleanup Description: Clean up various warnings from lint Platforms tested: FreeBSD 4.8 (sleipnir) no major changes requiring h5committest
* [svn-r7027] Purpose:Quincey Koziol2003-06-121-4/+4
| | | | | | | | | | | | Bug fix Description: MPE instrumentation was out of date and wasn't reporting the correct name of the API functions in the library. Platforms tested: IBM p690 (copper) h5committest not performed because it doesn't test MPE.
* [svn-r6970] Purpose:Quincey Koziol2003-06-051-8/+1
| | | | | | | | | | | | Twist code Description: Try to find a happy definition of HSSIZET_MAX, HSSIZET_MIN and HSIZET_MAX for all platforms. Platforms tested: FreeBSD 4.8 (sleipnir) h5committested
* [svn-r6963] Purpose:Quincey Koziol2003-06-041-2/+9
| | | | | | | | | | Code cleanup Description: Fix HSIZET_MAX, HSSIZET_MAX and HSSIZET_MIN to work with Windows (hopefully) Platforms tested: h5committested
* [svn-r6955] Purpose:Quincey Koziol2003-06-041-2/+8
| | | | | | | | | | | | Code cleanup Description: Tweak HSIZET_MAX macro and add HSSIZE_MAX and HSSIZET_MIN macros. Platforms tested: FreeBSD 4.8 (sleipnir) w/C++ FreeBSD 4.8 (sleipnir) w/parallel h5committested
* [svn-r6430] Purpose:Quincey Koziol2003-02-241-5/+16
| | | | | | | Code cleanup (sorta) Description: Updated to new copyright information as I browsed these files.
* [svn-r6383] Purpose:Quincey Koziol2003-02-071-5/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature for developers. Description: Added "function stack" tracing to library. This allows developers (there is no public API) to call H5FS_print within the library and get a listing of the functions traversed to reach that point in the library. Eventually, I may add support for reporting the parameters to each function also... Mainly for debugging parallel I/O programs, but I think it will come in handy in other cases also. The function stack tracking is controlled with a configure switch: --enable-funcstack, which defaults to enabled currently. When we branch for 1.6, we should change the default setting on the branch to be disabled. Also, added a destructor to the thread-specific keys when thread-safety is turned on in the library. Otherwise, they were leaking memory and causing difficult to debug errors in threaded programs (like the test/ttsafe test). Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir) w/thread-safety enabled. Misc. update: Updated MANIFEST with new files added (src/H5FS.c & src/H5FDprivate.h) Update release_docs/RELEASE with thread-safety bug fix.
* [svn-r6283] MuQun Yang2003-01-141-1/+9
| | | | | | | | | | | | | | | | | Purpose: Change some macros to make windows happy Description: Currently no srandom and random functions on windows, Function gethostname cannot be resolved when DLL turned on Solution: use srand and rand to replace srandom and random turn off the option to check gethostname Platforms tested: windows 2000, linux 2.2.18smp 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.
* [svn-r6272] Purpose:Quincey Koziol2003-01-131-4/+4
| | | | | | | | | | Code cleanup Description: Fix preprocessor macros to declare variables correctly. Platforms tested: MS Visual Studio
* [svn-r6269] Purpose:Quincey Koziol2003-01-131-0/+5
| | | | | | | | | | | | | Code cleanup Description: Various code cleanups to allow the development branch to be compiled with a C++ compiler (i.e. CC=g++ ) Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir) C++
* [svn-r6268] Purpose:Quincey Koziol2003-01-111-4/+4
| | | | | | | | | | | 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)
* [svn-r6266] Purpose:Quincey Koziol2003-01-101-10/+37
| | | | | | | | | | | | 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
* [svn-r6255] Purpose:Quincey Koziol2003-01-091-0/+6
| | | | | | | | | | Code cleanup Description: Clean up a few more warnings and update dependencies. Platforms tested: Linux 2.2.18smp (eirene) serial & parallel
* [svn-r6232] Purpose:Albert Cheng2003-01-031-4/+22
| | | | | | | | | | | | | | | | 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.
* [svn-r6202] MuQun Yang2002-12-131-0/+8
| | | | | | | | | | | | | | | | 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.
* [svn-r6140] Purpose:Pedro Vicente Nunes2002-11-261-4/+17
| | | | | | | | | | | | code warrior fix CW does not recognize the _stati64 type, changed HDstat macro accordingly Platforms tested: windows 2000 (MSVC, Code warrior) linux
* [svn-r5931] MuQun Yang2002-09-201-23/+23
| | | | | | | | | | | | 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
* [svn-r5867] Purpose:Quincey Koziol2002-08-091-3/+3
| | | | | | | | | | | | | 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
* [svn-r5864] ./hdf5-devel/src/H5private.hRobb Matzke2002-08-091-37/+33
| | | | | | | | | | | | | | | | | 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.
* [svn-r5814] Purpose:Quincey Koziol2002-07-191-0/+1
| | | | | | | | | | | | | | | | | | 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
* [svn-r5793] Purpose:Quincey Koziol2002-07-151-0/+1
| | | | | | | | | | | | 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)
* [svn-r5782] Purpose:Quincey Koziol2002-07-121-0/+7
| | | | | | | | | | | 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)
* [svn-r5471] Purpose:Quincey Koziol2002-05-291-18/+51
| | | | | | | | | | | | | | | | 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.
* [svn-r5467] Purpose:Quincey Koziol2002-05-281-31/+54
| | | | | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r5444] Purpose:Quincey Koziol2002-05-201-0/+14
| | | | | | | | | | Code cleanup Description: Clean up warnings on IRIX64 6.5 (modi4) Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5437] Pedro Vicente Nunes2002-05-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* [svn-r5342] Description:Albert Cheng2002-05-021-12/+0
| | | | | | | | | 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.
* [svn-r5324] Pedro Vicente Nunes2002-05-021-2/+1
| | | | | | | Purpose: updated some comments regarding Code Warrior , removed other debugging comments Platforms tested: w2000
* [svn-r5312] Purpose:Quincey Koziol2002-05-011-10/+20
| | | | | | | | | | Bug Fix Description: Add TRACE8 and TRACE9 macros Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5278] Purpose:Albert Cheng2002-04-281-79/+70
| | | | | | | | | | | | | | | | | | | | | 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)
* [svn-r5244] MuQun Yang2002-04-241-1/+5
| | | | | | | | | | | | | | | 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
* [svn-r5205] Purpose:Albert Cheng2002-04-191-0/+3
| | | | | | | | | | | | | | 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.)
* [svn-r5101] MuQun Yang2002-03-271-1/+5
| | | | | | | | | | | | | | | 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)
* [svn-r4706] Purpose:Quincey Koziol2001-12-121-8/+1
| | | | | | | | | | | | 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)