summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [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
* [svn-r11326] Purpose:MuQun Yang2005-08-312-5/+7
| | | | | | | | | | | | | | | Updating scale offset filter. Description: Using enum to represent scale_offset type. Change the order of parameters of H5Pset_scaleoffset. Solution: Platforms tested: sol 2.9, Liunx 2.4, AIX 5.1 Misc. update:
* [svn-r11325] Purpose:MuQun Yang2005-08-312-231/+240
| | | | | | | | | | | | | | | | Update scaleoffset filter. Description: 1. Using enum type to describe scale offset type(int, Dscale or Escale) 2. Changing some macro names 3. Fixing some minor bugs Solution: Platforms tested: sol 2.8, linux 2.4, aix 5.1(32-bit and 64-bit) Misc. update:
* [svn-r11323] Purpose:Albert Cheng2005-08-311-1/+2
| | | | | | | | | | | | | | | | tidy up. Description: MPE option created *.clog file whenever it is executed in MPI. The cleanup of *.clog files were done in individual Makefile.in. Often, it is forgotten. Solution: Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am so that it is applied whenever check-clean is called. Platforms tested: heping pp using MPE.
* [svn-r11321] MuQun Yang2005-08-311-8/+18
| | | | | | | | | | | | | Purpose: Add some comments and error checking codes for collective chunk IO code. Description: Solution: Platforms tested: AIX 5.1(copper), too minor to test at other platforms. Misc. update:
* [svn-r11319] Purpose:James Laird2005-08-302-15/+1
| | | | | | | | | | | | | | | | | | | | | | | Bug fixes Description: This checkin fixes an occasional error on kelgia on sol during distclean. It also causes test scripts to depend properly on the programs they're supposed to be testing. Solution: The kelgia bug was due to some files being cleaned by automake and manually. Removed the manual cleaning in src/Makefile.am. Test script dependencies now need to be specified manually, since the makefile can't guess what they test from their name. Currently all test scripts in a given directory have a single list of dependencies--this was easy and seems to be sufficient. These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am. Platforms tested: heping, mir, modi4, sol Misc. update:
* [svn-r11317] Purpose: Minor change to macro namesRaymond Lu2005-08-303-132/+132
| | | | | | | | | | | | Description: Changed the names of the interim macros for data conversion checked in yesterday from the SOURCE_DESTINATION style (like FP_FP or LDOUBLE_LLONG) to the H5T_CONV_INTERIM_SOURCE_DESTINATION style (like H5T_CONV_INTERIM_FP_FP OR H5T_CONV_INTERIM_LDOUBLE_LLONG), to be more descriptive. These macros are defined in H5Tpkg.h and used in H5Tconv.c and H5T.c for interim purpose. Platforms tested: fuss - simple change.
* [svn-r11316] MuQun Yang2005-08-301-2/+2
| | | | | | | | | | | | | | Purpose: bug fix for collective chunk IO Description: When using calloc to allocate an MPI datatype, one should use sizeof(MPI datatype) instead of sizeof(equalivent non-MPI datatype) to assign the value, this causes the problem at 64-bit platforms such IRIX65 and AIX 5.1. Solution: Correct it. Platforms tested: AIX 5.1 and IRIX6.5(at NCAR). Misc. update:
* [svn-r11314] Purpose:Albert Cheng2005-08-301-15/+26
| | | | | | | | | | | | | | | | | | Bug #281 Description: A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation setting was not extendible, either explicitly by H5Dextend or implicitly by writing to unallocated chunks. This was because parallel mode expects the allocation mode be H5D_ALLOC_TIME_INCR only. Solution: Modified library to allocate more space when needed or directed if the file is opened by parallel mode, independent of what the dataset allocation mode is. Platforms tested: Heping pp.
* [svn-r11311] Purpose: New features.Raymond Lu2005-08-294-147/+303
| | | | | | | | | | | | | | | | | | | | Description: Added 2 new configure options, --enable-exception and --enable-accuracy. --enable-exception lets the library check whether user's exception handling functions are present during compiler data conversions and use them if they are. When it's disabled, this step is skipped to improve conversion speed. This step isn't implemented yet for soft conversions because there would be little gain in speed. --enable-accuracy guarantees data accuracy during data conversions. It means the library will choose compiler conversions only if the accurate data is secured. Otherwise, the library will go for the library's own conversions. If this option is disabled, the library uses compiler conversions in favor of their speed as long as they work even if data can be incorrect. Platforms tested: h5committest and fuss. Some systems may fail after this checkin.
* [svn-r11307] Purpose:Quincey Koziol2005-08-298-105/+86
| | | | | | | | | | | | Code cleanup Description: Clean up internals of group creation & iteration code. Platforms tested: FreeBSD 4.11 (sleipnir) Mac OS X (nile) Too minor to require h5committest
* [svn-r11304] Purpose:Quincey Koziol2005-08-273-16/+26
| | | | | | | | | | | | | Code cleanup (sorta) Description: Adjust H5G_stat_t to prepare for eventual "external link" information. This also puts the information for regular objects and soft links into more obviously separate places. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r11303] Purpose:Albert Cheng2005-08-261-25/+15
| | | | | | | | | | | | minor tidy up. Description: Changed both test programs and test scripts to use the same suffixes (.chkexe and .chklog). Changed from .log to .chklog to avoid running into potential conflicts by other "things" (e.g., config.log). Tested: Heping.
* [svn-r11300] Purpose:Quincey Koziol2005-08-252-2/+4
| | | | | | | | | | | | Code cleanup Description: Prevent memory leak when too many links are traversed. Also add test to traverse too many links. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r11295] Purpose:Quincey Koziol2005-08-251-2/+15
| | | | | | | | | | | | Bug fix Description: Fix "strong" file closing to handle a dangling dataset which uses a dangling named datatype. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor too require h5committest
* [svn-r11289] Purpose:Albert Cheng2005-08-221-0/+3
| | | | | | | | | | | | | | cleanup Description: Changed the conditional definitions of HDvsnrintf and HDsnprint be dependent on TFLOPS being defined so that these are consistent with the condition in H5.c in which the two functions are coded. Platforms tested: heping. Misc. update:
* [svn-r11288] Purpose:Fang Guo2005-08-221-9/+8
| | | | | | | | | | | | Maintenance on Windows Description: Move Win32 Macros(snprintf and vsnprintf) to the right places Solution: Platforms tested: MSVS 6.0 on Windows XP heping Misc. update:
* [svn-r11283] Purpose:Quincey Koziol2005-08-204-37/+70
| | | | | | | | | | | | | | | | Code cleanup Description: Clean up code somewhat: - Move from HDmemset() -> H5G_ent_reset() to clear out group entry info - Simplify H5G_unlink() call - Use portability macros instead of direct system calls in more places - Improve readbility by neatening whitespace, etc. - Move some macros into source code module instead of header files Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r11282] Purpose:Quincey Koziol2005-08-208-90/+457
| | | | | | | | | | | | | | | | | New debugging feature Description: Add some code to track where memory from the internal free list allocator is allocated within the library. It's not quite ready for "prime time" yet, but it's close enough to be useful. This is disabled by default and requires the H5FL_TRACK macro in src/H5FLprivate.h to be uncommented to activate during debugging. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Too minor to require full h5committest
* [svn-r11280] Purpose:Quincey Koziol2005-08-202-3/+2
| | | | | | | | | | | Code cleanup Description: Clean up unused variables & use portability macros better Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11277] Purpose:Quincey Koziol2005-08-206-210/+210
| | | | | | | | | | | | | | | Bug fix Description: Fix core dump when checking whether to invalidate the name of an object when unlinking an object in a group opened through an object reference. Solution: Check if names of various objects are valid before comparing them, etc. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11258] Purpose:Albert Cheng2005-08-171-4/+22
| | | | | | | | | | | | | | Bug fix. Description: Reactivated the code for snprintf and vsnprintf for Tflops but added the SN_SIZ_MIN as an attempt to require the minimum amount of space needed, hoping vsnprintf/snprintf do not print larger than it per request. Also added code to detect overflow and return error (IF overflow has not crashed the application yet.) These are all short term patches. Platforms tested: Tested at Tflops.
* [svn-r11256] Purpose: Reformat comment.Raymond Lu2005-08-171-2/+2
| | | | Platforms tested: Not needed.
* [svn-r11254] Purpose: Bug fixRaymond Lu2005-08-171-3/+3
| | | | | | | | | | Description: In some macro definition, some constant values like D_MIN and D_MAX were not casted to the destination type. They may cause problems for some system like TFLOPS. Solution: Cast them to destination type. Platforms tested: fuss - very simple changes.
* [svn-r11251] Purpose:Fang Guo2005-08-161-0/+10
| | | | | | | | | | | | | | Maintenance on windows Description: Add two macros for windows, susbstitue functions HDsnprintf and HDvsnprintf with _snprintf and _vsnprintf when using Visual C++ on windows Solution: Platforms tested: MSVC 6.0 on Windows XP heping Misc. update:
* [svn-r11245] Purpose:Quincey Koziol2005-08-13154-4410/+4410
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11242] Purpose:Quincey Koziol2005-08-131-2/+2
| | | | | | | | | | | | Code cleanup Description: Use enum type instead of int for datatype conversion exception callback routine. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11241] Purpose:Quincey Koziol2005-08-133-359/+175
| | | | | | | | | | | | | Code cleanup Description: Fix logic error in previous checkin and also finish refactoring I/O initialization, including simplifying all the collective & parallel cases into a more unified mechanism. Platforms tested: FreeBSD 4.11 (sleipnir) w/ & w/o parallel Linux 2.4 (mir)
* [svn-r11240] Purpose:Quincey Koziol2005-08-131-66/+82
| | | | | | | | | | | Bug fix Description: Fix logic error for non-parallel file I/O with library built for parallel I/O capability. Platforms tested: Linux 2.4 (mir) w/parallel
* [svn-r11236] Purpose:Quincey Koziol2005-08-132-426/+306
| | | | | | | | | | | | | | Code cleanup & bug fix Description: Refactor recent collective chunk changes to simplify them. Also, compute the number of chunks by checking the number of objects in the chunk skip list instead of getting the boundaries of the selection and counting the chunks that it overlaps, which is faster and computes correct number for certain selections. Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r11235] Purpose:Quincey Koziol2005-08-124-525/+430
| | | | | | | | | | | | | Code cleanup Description: Refactor, simplify and cleanup Kent's recent checking for collective chunk I/O. There's a bug that I need to talk to Kent about and some more cleanups still, but this is reasonable for an interim point. Platforms tested: FreeBSD 4.11 (sleipnir) w/parallel Too minor for h5committest
* [svn-r11234] Purpose:Albert Cheng2005-08-111-0/+5
| | | | | | | | | | | | | | | bug fix. Description: The code for functions snprintf and vsnprintf ignored the size parameter. It could overflow the buffer. The two functions are supported by many platforms now. Disable the code and see what platform(s) still need it. Platforms tested: h5committested Misc. update:
* [svn-r11233] Purpose: Bug fixRaymond Lu2005-08-111-1/+1
| | | | | | | | | | | Description: In the macro H5T_CONV_Xx_CORE definition, one line said "} else if (*((ST*)S) < (D_MIN)) {". It caused problem on TFLOPS because it defines LLONG_MIN as a hexadecimal value instead of decimal value. Solution: Changed the line to "} else if (*((ST*)S) < (DT)(D_MIN)) {" to avoid the problem. (Need to change other similar places when time permits.) Platforms tested: fuss - simple change.
* [svn-r11231] Purpose:MuQun Yang2005-08-114-582/+652
| | | | | | | | | | | | | | | | | | | | | | | bug fix for collective chunk IO, phase 1 Optimization hasn't been done yet, the collective chunk IO bug should be fixed. Description: In chunking storage, memory space and file space will be remapped, So to check whether file space and memory space are regular in order to use optimized MPI derived datatype for collective call one has to check per-chunk wise instead of per hyperslab wise. Even a regular memory space will be stored in span-tree and will be irregular before chunk IO. Solution: 1. Check file space and memory space per chunk wise instead of per hyperslab wise. 2. For collective IO mode, number of chunks covered by hyperslab may be different. Since we are handing per chunk per IO, for the extra chunk IO for some(not all) processors, collective mode will cause program hanged. So for the extra chunk Io mode independent IO has to be used. 3. On some platforms, Complex MPI derived datatype is not working, so we have to use independent IO for collective IO mode if the selection is irregular. However, when the selection is regular, we do want to use collective IO since that will improve performance. Special cares have to be added for this case. Platforms tested: copper(AIX 5.1) Linux(heping mpich 1.2.6), Teragrid machine, Cobalt(altix), modi4 Misc. update: