summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r11712] Purpose:Quincey Koziol2005-11-1588-7203/+12277
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11686] Purpose:Quincey Koziol2005-11-0740-853/+2354
| | | | | | | | | | | | | | | | | | | New feature Description: Add in baseline "object copy" code from Peter [in the form of a new API routine: H5Gcopy()]. There's still some work to do (like handling variable- length datatypes and possibly support for references) and it hasn't been tested on mounted files yet, but the core functionality is there and working correctly. I've also got a set of patches to update the 1.6 branch with tweaks to keep the branches mostly in sync, but Elena will kill me if I import them before the 1.6.5 release is out... :-) Platforms tested: FreeBSD 4.11 (sleipnir) h5committested
* [svn-r11680] Purpose:Quincey Koziol2005-11-041-9/+9
| | | | | | | | | | | Code cleanup Description: Clean up H5Dcreate a little, to prepare for coding standards discussion today. Platforms tested: Just eyeballed, too trivial to require testing.
* [svn-r11646] Purpose:James Laird2005-10-311-4/+14
| | | | | | | | | | | | | | | | | | Bug fix/feature Description: Added support for -shlib in h5fc and h5c++. Made check-install use -shlib when only shared libraries have been installed. Solution: h5fc and h5c++ didn't recognize -shlib. Stole code from h5cc to link against shared libraries. When static libraries are disabled, the examples Makefiles will automatically use the -shlib option to link against shared libraries. Thus, --disable-static and make check-install should work together. Platforms tested: heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
* [svn-r11612] Purpose:James Laird2005-10-271-1/+1
| | | | | | | | | | | | | Bug fix Description: Failed parallel tests now cause make to exit with an error. Solution: Edited config/conclude.am to throw an error if parallel test programs fail. Platforms tested: heping, modi4
* [svn-r11602] Purpose:James Laird2005-10-242-12/+0
| | | | | | | | | | | | Bug fix Description: Removed detection of pdb from configure.in as a corollary to removal of pdb2hdf5 tool. Platforms tested: mir, modi4
* [svn-r11598] Purpose:Quincey Koziol2005-10-222-15/+5
| | | | | | | | | | | | Code cleanup Description: Take out odd definition of HDalarm() and replace with standard macro like the rest of the library. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11593] Purpose:Quincey Koziol2005-10-2112-586/+294
| | | | | | | | | | | | Code cleanup Description: Clean up & standardize a bit in preparation for coding standards discussion. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11573] Purpose:James Laird2005-10-171-0/+1
| | | | | | | | | | | | | | | | | | | | Bug fix Description: Changed configure.in to use an environment variable TR to set the path to the tr utility. Solution: There are two kind of tr on Solaris with slightly different syntax. HDF5's configure relies on the "standard" tr. Traditionally, HDF5ers have needed to make sure that the "right" tr was found before the wrong one in their path; now they can use an environment variable. Platforms tested: mir, shanti, sol Misc. update: Forgot to update release notes. Off to do that now.
* [svn-r11566] Purpose:James Laird2005-10-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Makefile bug fix Description: Previously, automake didn't output rules to build perform/mpi-perf or the test/gen_* programs. Now these can be built by typing 'make mpi-perf' (or 'make foo') or by configuring with --enable-build-all. Solution: Automake doesn't like having rules for programs it doesn't build. Tricked it by having these programs built "sometimes"--whenever the user enables --build-all. This should be used mostly for testing and to ensure that these helper programs compile. ***IMPORTANT*** These programs do *not* currently compile. When --enable-build-all is used (not the default), gen_new_fill fails because it uses an old API. This is an existing "bug" that has simply been exposed by this checkin. Platforms tested: sleipnir, modi4, sol Misc. update:
* [svn-r11558] Purpose:Quincey Koziol2005-10-133-15/+55
| | | | | | | | | | | | | | | | Bug fix Description: Check in Kent's fixes to hyperslab rebuilding code that should correctly detect situation when different sub-hyperslabs exist in a higher dimension. Solution: Remember previous sub-hyperslab information and compare that with newly generated sub-hyperslab to make certain they are the same. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11557] Purpose:Quincey Koziol2005-10-131-241/+97
| | | | | | | | | | | | | | | Bug fix Description: Mark continuation message & chunk as dirty for case where chunk is extended. Also refactored code to reduce duplication. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Too minor to require h5committest
* [svn-r11542] Purpose:Albert Cheng2005-10-112-0/+28
| | | | | | | Inserted Copyright notice. Platforms tested: tested in heping.
* [svn-r11519] Purpose:James Laird2005-10-101-0/+3
| | | | | | | | | | | | | | | Bug fix Description: Some platforms complain that tcp.h is present but cannot be compiled. Solution: This is because tcp.h needs in.h to be included. Checked for netinet/in.h and included it when netinet/tcp.h is being checked. Platforms tested: mir, cu11
* [svn-r11515] Purpose:Albert Cheng2005-10-101-1/+1
| | | | | | | | | | Fixed copyright notice. Description: A line is missing in the copyright notice. Fixed. Platforms tested: No test since it is only a fix in a comment block.
* [svn-r11490] Purpose:Quincey Koziol2005-10-039-17/+382
| | | | | | | | | | | | | | | Bug fix Description: Fix "double root open" bug and apply same fix to datasets & named datatypes. Also fix bug in symbol table entry lookup code that would "transfer" an object from one file handle to another file handle when the two file handles were opened on the same actual file. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11489] Snapshot version 1.7 release 51HDF Admin2005-10-022-3/+3
|
* [svn-r11485] Purpose:Quincey Koziol2005-09-302-170/+173
| | | | | | | | | | | | Code cleanup Description: Clean up & optimize (a little) the recent "hyperslab rebuilding" code w/Kent. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11480] Purpose:Fang Guo2005-09-292-2/+14
| | | | | | | | | | | Maintenance on Windows Description: No alarm function on Windows, opt out Solution: Platforms tested: MSVS 6.0 on Windows XP Misc. update:
* [svn-r11478] Purpose:Albert Cheng2005-09-291-8/+7
| | | | | | | | | | | | | | | | bug fix. Description: When a parallel test script test fails, make would continue because the way it was setup inside a for loop. Fixed it by issuing an exit 1 inside the loop. There was also a typo error in the newer command comparision that it must be $${chkname} in order to be valid. Also, the test script itself was not checked in the newer lists. All fixed. Platforms tested: h5committested and also hand tested in heping pp mode.
* [svn-r11477] Purpose:Albert Cheng2005-09-291-0/+3
| | | | | | | | | | feature. Description: added the recognition of -lmpich as a form of MPI library. Platforms tested: Tested in heping. Real test will be in MCR.
* [svn-r11475] Purpose:John Mainzer2005-09-281-0/+1
| | | | | | | | | | | | | | | | | | | | | Bug fix Description: In production builds, H5MM_malloc was undefined in H5AC.c Solution: Include H5MMprivate.h in H5AC.c, which defines H5MM_malloc() in both debug and production modes. Platforms tested: h5committested, serial production build on Heping Misc. update:
* [svn-r11470] Purpose:John Mainzer2005-09-2718-401/+3972
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repair synchronization bug in the metadata cache in PHDF5 Also repair numerous other bugs that surfaced in testing the bug fix. Description: While operations modifying metadata must be collective, we allow independant reads. This allows metadata caches on different processes to adjust to different sizes, and to place the entries on their dirty lists in different orders. Since only process 0 actually writes metadata to disk (all other processes thought they did, but the writes were discarded on the theory that they had to be collective), this made it possible for another process to modify metadata, flush it, and then read it back in in its original form (pre-modification) form. The possibilities for file corruption should be obvious. Solution: Make the policy that only process 0 can write to file explicit, and visible to the metadata caches. Thus only process 0 may flush dirty entries -- all other caches must retain dirty entries until they are informed by process 0 that the entries are clean. Synchronization is handled by counting the bytes of dirty cache entries created, and then synching up between the caches whenever the sum exceeds an (eventually user specified) limit. Dirty metadata creation is consistent across all processes because all operations modifying metadata must be collective. This change uncovered may bugs which are repaired in this checkin. It also required modification of H5HL and H5O to allocate file space on insertion rather than on flush from cache. Platforms tested: H5committest, heping(parallel & serial) Misc. update:
* [svn-r11467] Purpose:Albert Cheng2005-09-271-0/+3
| | | | | | | Add the detection of the alarm function. Platforms tested: Tested in heping.
* [svn-r11466] Purpose:MuQun Yang2005-09-271-179/+53
| | | | | | | | | | | | | | Code refinement Description: Make the re-build hyperslab selection code shorter to be maintained easily Solution: Platforms tested: Sol 2.9, linux 2.4, Aix 5.1 Misc. update:
* [svn-r11463] Purpose:Quincey Koziol2005-09-231-2/+4
| | | | | | | | | | Code cleanup Description: #ifdef out blksize field in file structure for non-GPFS builds. Platforms tested: None - just eyeballed - very minor.
* [svn-r11448] Purpose:Pedro Vicente Nunes2005-09-211-2/+6
| | | | | | | | | | | | | | | | | | | new features Description: add support for compiling the library and testphdf5 in Windows Solution: Platforms tested: Linux AIX Solaris Windows VC6 Misc. update:
* [svn-r11447] Purpose:MuQun Yang2005-09-201-0/+190
| | | | | | | | | | | | | | | | Hyperslab re-build optimization Description: Previously only singluar selection can be rebuilt from span-tree application. This optimization is supposed to rebuild for other regular selection case(such as count =2, block = 2, stride =3) Solution: Platforms tested: shanti(sol 2.9), heping(Linux 2.4), NCAR SGI(IRIX 6.5) Misc. update:
* [svn-r11446] Purpose:James Laird2005-09-201-2/+3
| | | | | | | | | | | Bug fix Description: Massaged the newer script and config/conclude.am to make SX6 happy. Platforms tested: SX6, sol, mir
* [svn-r11431] Purpose:Albert Cheng2005-09-181-2/+3
| | | | | | | | | | | | | | | | | New feature. Description: Added the time command to the make check target to report time usage of the execute of each test and test scripts. This gives us some idea how long each test takes and some vague idea it is compute bound or not. powerpc-ibm-aix5.x: Change $RUNPARALLEL default setting to allow it being invoked by the time command. Platforms tested: h5committested.
* [svn-r11424] Purpose:Quincey Koziol2005-09-173-243/+266
| | | | | | | | | | | | | | | | | | | | | Code cleanup/bug fix Description: Hoist function call out of inner loop of type conversion by retrieving source & destination precisions once, outside the loop. There's still some overhead because this information is stored in variables set at run-time, when it's really constant for the particular machine. Further work to set compiler macros would allow this code to be optimized better by the compiler with dead code removal. We'll continue to work on this area... Also, made new internal H5T_compiler_conv routine static instead of of private, until we need to reference it from another source code module. Platforms tested: h5committest FreeBSD 4.11 (sleipnir)
* [svn-r11421] Purpose:James Laird2005-09-161-4/+11
| | | | | | | | | | | | | | | Feature Description: Added H5_CFLAGS, etc. to 1.7 branch. Now compilation flags can be put in H5_*FLAGS and they'll be used when building hdf5 but not in h5cc. Platforms tested: mir, sleipnir, modi4 Misc. update:
* [svn-r11420] Purpose:James Laird2005-09-161-0/+2
| | | | | | | | | | | | | | | | | Bug fix Description: Disabled C++ shared libraries for Sun Workshop compiler. Solution: This bug only seems to happen when using the -xarch=v9 flag to compile in 64-bit mode, but disabling shared libraries entirely for this compiler is an easier fix (I don't know how to detect 64 bit mode from the command line). The framework for disabling shared libraries for other C++ compilers is in place. Platforms tested: sol, mir, sleipnir, modi4
* [svn-r11418] Purpose:James Laird2005-09-151-2/+4
| | | | | | | | | | | | | | | | Bug fix/feature Description: Disabled shared libraries for a number of Fortran compilers that don't support them. This allows other compilers to support shared Fortran libraries. Solution: Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if Fortran supports shared libraries. It is set in configure.in. Platforms tested: mir, sleipnir, colonelk, heping
* [svn-r11415] Purpose: Internal design change.Raymond Lu2005-09-147-198/+209
| | | | | | | | | | | | | | | | | Description: H5T_register() replaces any existing data conversion path with a new path. Solution: Added a parameter to H5T_register() and H5T_path_find() to signal the library whether the new conversion path is from API function H5Tregister() or from private function like H5T_init_interface(). If it is from H5Tregister(), replace existing path. If it's from H5T_init_interface() and the library is trying to register default hard conversion functions, don't replace existing path because the path is registered by the library. For example, the library registered H5T_conv_int_float() and is trying to register H5T_conv_long_float(). The size of long is equal to int. There's no need to replace the path H5T_conv_int_float(). Platforms tested: h5committest and fuss.
* [svn-r11414] Purpose: Rename a API functionRaymond Lu2005-09-143-13/+13
| | | | | | | | | | | Description: The API function H5Tis_hard() which was recently checked in has been renamed to H5Tcompiler_conv() to be more descriptive. No other changes. Platforms tested: fuss - simple change. Misc. update: config/lt_vers.am to update libtool version.
* [svn-r11411] Purpose:James Laird2005-09-131-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix Description: Building with --disable-static seems to have been broken on several platforms. Fixed this. Configure will now disable shared libraries automatically when using pgf90 or when building on Cygwin. Solution: To avoid errors when using shared libraries with pgf90 (which I had not realized were compiler-specific), I had manually set convenience libraries to use the -static linking flag. Apparently, this is not necessary, and caused these libraries to be created as empty archives when --disable-static was used. Also, some libraries were including other libraries, which was not necessary. I also fixed code in configure.in to correctly detect whether shared or static libraries are enabled, and moved code that disables shared libraries to before libtool is created (rather than editing libtool after the fact). Despite repeated warnings that only one shared library can be linked at a time, I have yet to have shared libraries break the linking of tests on any system. We'll see if the Daily Tests turn up anything. Platforms tested: mir (fortran, C++), sleipnir (C++), modi4 (fortran, C++, parallel), sol (fortran, C++), cygwin
* [svn-r11402] Purpose: MaintenanceElena Pourmal2005-09-133-4/+4
| | | | | | | | | | | | Description: Compiler complained about const type * variables that were used in the functions that require "non const" parameters. Compilation failed. Solution: Use casting to avoid compilation errors. Platforms tested: SX-6, heping and mir with new g95 Misc. update:
* [svn-r11396] Purpose:Albert Cheng2005-09-121-1/+1
| | | | | | | | | | | | | | | | Code cleanup. Description: g++ on sleipnir complained and exited failed because the malloc statement in ALIGNMENT was not properly casted. Solution: added the proper (char * ) casting. Platforms tested: Passed heping using gcc. Sleipnir g++ passed too but that was also because the default development mode is used.
* [svn-r11395] Purpose: Bug fixRaymond Lu2005-09-121-238/+235
| | | | | | | | | | | | | | | | | | Description: Quincey added the condition branch (else if (*((ST*)S) != (ST)((DT)(*((ST*)S))))) in the definition of the macro H5T_CONV_Fx_CORE. It handles a special situation when the source is "float" and assigned the value of "INT_MAX". Compilers do roundup making this value "INT_MAX+1". This branch is to check that situation and return exception for some compilers, mainly GCC. The branch if (*((ST*)S) > (DT)(D_MAX) || (S_PREC < D_PREC && *((ST*)S) == (DT)(D_MAX))) is for some compilers like Sun, HP, IBM, and SGI where under the same situation the "int" doesn't overflow. A test was added to dt_arith.c to check 2 conversions, from float to int where the float is INT_MAX, and from double to signed char where the double is SCHAR_MAX. Platforms tested: h5committest and fuss.
* [svn-r11386] Purpose:Quincey Koziol2005-09-1216-411/+619
| | | | | | | | | | | | | | Code cleanup/reorganization Description: Merge back some more changes extracted from the "compact group" set. This bunch cleans up and prepares the H5G_* routines for eventual import of new features. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Mac OS X.4
* [svn-r11384] Purpose:Quincey Koziol2005-09-1229-293/+608
| | | | | | | | | | | | | | | | | | | | | Code cleanup Description: Merge back changes from "compact group" work that improve the infrastructure of the library and may impact others. In this round of merging, that includes: - Move datatype allocation into single internal routine, instead of duplicated code that was spread out in a dozen or so places. - Clean up guts of object header routines (H5O_*) to allow for some of the fancieroperations that need to be performed on groups, along with some general improvements. - Added a new error code - Some minor cleanups in other code.... Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Mac OS X
* [svn-r11361] Purpose:James Laird2005-09-072-2/+2
| | | | | | | | | | | | | | | | Bug fix Description: Cygwin was failing (seemingly only when I built in parallel) when it couldn't find or build H5detect. Fixed a dependency. Solution: H5init.c was depending on H5detect instead of H5detect$(EXEEXT). On Cygwin, applications end in .exe ! Platforms tested: mir, cygwin (finrod)
* [svn-r11355] Purpose: A new API function and its test.Raymond Lu2005-09-063-0/+79
| | | | | | | | | Description: Put in a new API funciton, H5Tis_hard. It checks whether the conversion function from a native type to another native type is a compiler (hard) conversion. Also checked a test in test/dt_arith.c. Platforms tested: h5committest and fuss.
* [svn-r11346] Purpose:Quincey Koziol2005-09-031-413/+466
| | | | | | | | | | | | | | | | | Bug fix & code cleanup Description: Fix problem with detecting precision overflows in a more portable way. (I was depending on the compiler not removing some temporary variables, which was a bad bet... :-) Also, hoist the checking for the exception handling routine out of the inner conversion loop, which should speed up conversions which don't have an exception handling routine defined. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11345] Purpose:Quincey Koziol2005-09-031-53/+114
| | | | | | | | | | | | | | | | Bug fix & code cleanup Description: Address most of datatype conversion exception handling bug that Ed Hartnett reported. (He's reported a different problem now, but we're closer at least). Also, condense exception handling #ifdef's into one location instead of spread out in so many places. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11341] James Laird2005-09-022-0/+7
| | | | | | | | | | | | | | Purpose: Bug fix Description: H5Tinit.c wasn't being cleaned properly. Solution: Clean H5Tinit.c. Platforms tested: sleipnir only (very minor change)
* [svn-r11338] Purpose:Quincey Koziol2005-09-021-1/+3
| | | | | | | | | | | | | Bug fix Description: Check in fix that John found for bug in H5FD_extend() code - adjust beginning as well as size of free block when "extending" another block of space in the file. Platforms tested: FreeBsd 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11337] Purpose:Quincey Koziol2005-09-014-235/+234
| | | | | | | | | | | | Code cleanup Description: Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_... to indicate that they are in the H5Z package. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11332] Purpose: Minor Change to Macro NamesRaymond Lu2005-09-013-146/+146
| | | | | | | | | Description: Changed the names of macros defined in H5Tpkg.h from H5T_CONV_INTERIM_XXX_XXX to H5T_CONV_INTERNAL_XXX_XXX to be more descriptive. Platforms tested: fuss - simple change