summaryrefslogtreecommitdiffstats
path: root/src/H5Tcompound.c
Commit message (Collapse)AuthorAgeFilesLines
* Clang-format of source filesAllen Byrne2020-09-301-126/+105
|
* Minor refactoring based on 1.10 normalization workDana Robinson2020-08-171-4/+4
|
* Clean up private / package / static namespace issues (function naming, whichQuincey Koziol2020-08-061-12/+0
| | | | | | header file, FUNC_ENTER / LEAVE, etc). Removed remaining personal email addresses from library source code (still needs cleaned from other directories). Misc. warning, style, and whitespace cleanup.
* H5T_copy() constification plus Quincey's contributions.David Young2020-01-291-25/+62
|
* Normalization with vol_integration (misc internal and datatype)Dana Robinson2018-09-201-5/+5
|
* Cleanup API context function usage.Quincey Koziol2018-03-191-8/+0
|
* Add API context interface and use it throughout the library.Quincey Koziol2018-03-151-6/+19
|
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-251-6/+4
| | | | | | | | | | hdf5_1_10 * commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
* [svn-r27768] Description:Quincey Koziol2015-09-141-25/+2
| | | | | | | | | | | | | | | | | | | | | | Complete revamp of package initialization/shutdown mechanism in the library. Each package now has a single init/term routine. This new way should avoid packages being re-initialized during library shutdown and is also be _much_ more proactive about giving feedback for resource leaks internal to the library. Introduces a new "module" header file for packages in the library (e.g src/H5Fmodule.h) which sets up some necessary package configuration macros for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly modified version of this header, src/H5FDdrvr_module.h) Also cleaned up a bunch of resources leaks all across the library and tests, along with addressing many warnings, as I encountered them. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/64 3.10.x (kituo) w/serial & parallel Linux/64 2.6.x (ostrich) w/serial
* [svn-r22287] Description:Quincey Koziol2012-04-161-18/+18
| | | | | | | | Clean up more FUNC_ENTER/FUNC_LEAVE macros and move H5D & H5T code toward the final design (as exemplified by the H5EA & H5FA code). Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & parallel
* [svn-r21919] Description:Quincey Koziol2012-02-091-13/+13
| | | | | | | | Refactor function name macros and simplify the FUNC_ENTER macros, to clear away the cruft and prepare for further cleanups. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r17977] Bug fix for 1584. H5Tdetect_class said a VL string is a string ↵Raymond Lu2009-12-091-2/+2
| | | | | | | | | | | | type. But when it's in a compound type, it says it's a VL type. We want to tell user a VL string is a string. But internally we treat it as a VL type. I added a flag as a parameter of H5T_detect_class. It tells whether the caller is the public function H5Tdetect_class. I also added a detection for VL string in the private function for the compound case (or array or nested VL type). Tested on jam and amani - I tested the same change for 1.8 with h5committest.
* [svn-r17760] Purpose: Fix problem with H5TB APINeil Fortner2009-10-271-137/+66
| | | | | | | | | | | Description: The H5TB API makes some improper assumptions about the order of compound datatype members. Namely, it assumes that members remain in the order in which they were inserted. Unfortunately, this assumption is inherent in the design of the interface. The library has been patched so that this assumption holds in situations relevant to H5TB. Tested: jam, linew, amani (h5committest)
* [svn-r16347] Purpose: enhancements the H5Tinsert, H5TpackNeil Fortner2009-01-261-24/+122
| | | | | | | | | | | | Description: H5Tinsert will now detect when a compound type that was previously not packed becomes packed due to out of offset order insertion of a member. H5Tinsert will now attempt to keep members sorted by offset order. This should improve performance of H5Tinsert in all cases due to the fact that it no longer needs to check every other member for overlapping, and should improve performance of H5Tpack and possibly type conversion when compounds are packed out of order. Tested: jam, smirom (h5committest)
* [svn-r16308] Purpose: Fix problem with H5TpackNeil Fortner2009-01-141-2/+7
| | | | | | | | | Description: If a compound type was packed except for some extra space at the end, H5Tpack would not modify the type and the extra space would remain. Changed H5T_is_packed to fix this behaviour. Tested: jam, smirom (h5committest - linew down)
* [svn-r15609] Description:Quincey Koziol2008-09-101-112/+130
| | | | | | | | Omnibus compiler warning cleanup & some reformatting also. Tested on: Mac OS X/32 10.5.4 (amazon) Too minor to require h5committest
* [svn-r15485] Purpose: Allow library to shut down properly when objects have ↵Neil Fortner2008-08-191-1/+1
| | | | | | | | | | | | | | | | reference count > 1. Description: Added a new field 'app_count' to H5I_id_info_t struct, to track the reference count on an id due to the application. the old 'count' field tracks the total. Generally any id visible to the application gets placed in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref, H5I_register, H5I_clear_type, and a few other functions, to specify whether the operation(s) being performed on the id(s) are due to the application (TRUE) or not (FALSE). Test added for this case. Tested: kagiso, smirom, linew (h5committest)
* [svn-r15395] When an attribute was opened twice and data was written with ↵Raymond Lu2008-07-221-2/+2
| | | | | | | | | | | one of the handles, the file didn't have the data. It happened because each handle had its own object structure, and the empty one overwrote the data with fill value. This is fixed by making some attribute information like the data be shared in the attribute structure. Tested on smirom, kagiso, and linew.
* [svn-r15299] A modification of the changes made in last commit. The problem ↵Raymond Lu2008-06-301-10/+10
| | | | | | | | was that H5Tpack didn't act correctly with nested compound datatype. This code is better. Tested on smirom - simple change.
* [svn-r15290] H5Tpack didn't act correctly with nested compound datatype. ↵Raymond Lu2008-06-271-5/+9
| | | | | | | | The new size of the type in the inner nest wasn't passed to the outer nest. This has been fixed. Tested on kagiso, linew, smirom.
* [svn-r15227] Description:Quincey Koziol2008-06-171-3/+3
| | | | | | | | | | | | | | | | | | Small clean up of datatype copying. 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
* [svn-r14004] Description:Quincey Koziol2007-07-241-38/+39
| | | | | | | | | | | | Fix problem with datatype messages where the version of the format for a datatype message could depend on the "use the latest format" flag from the file after it was initially created. Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Mac OS X/32 10.4.10 (amazon)
* [svn-r13475] There's a configure issue linking szip's shared libraries when ↵Mike McGreevy2007-03-081-1/+1
| | | | | | | | | | | | running on kagiso. The static szip libraries are working as intended, but when shared szip libraries are present and intended for use they cannot be opened. A check has been implemented to test if shared szip libraries are functional on current platform. If they are not, and the user is trying to use them, szip is now disbaled and the user is informed. This issue occurs on kagiso, and the resolution was tested on kagiso.
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r13068] Ran bin/reconfigure. Some of the scripts have been changed or ↵James Laird2006-12-181-5/+5
| | | | | | | | | haven't been run in a while, so many of the source files were updated with tracing macros, etc. No code changes by me. Tested on kagiso and smirom.
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-12/+12
| | | | | | | | | | | | | | | | | | | | 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-r9959] Purpose: Bug fixRaymond Lu2005-02-081-2/+3
| | | | | | | | | | | | Description: For variable-length string, H5Tget_class returned H5T_STRING as its class. But H5Tdetect_class and H5Tget_member_class considered it as H5T_VLEN. This is fixed to let all these 3 functions treat it as H5T_STRING. Some test cases have been added to dtypes.c Platforms tested: heping - already tested for v1.6 with h5committest Misc. update: RELEASE.txt
* [svn-r9857] Purpose: MaintenanceElena Pourmal2005-01-221-3/+0
| | | | | | | | | | | | | | Description: Removed PABLO from the source Solution: Platforms tested: arabica with 64-bit, copper with parallel, heping with GNU C and C++ and PGI fortran (but I disabled hl, there is some weird problem only on heping: F9XMODFLAG is not propagated to the Makefile files Misc. update:
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-40/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
* [svn-r9469] Purpose:Quincey Koziol2004-10-271-2/+2
| | | | | | | | | | | | | Code cleanup Description: Clear up some inconsistencies, inefficiencies and possible errors between the release and development branch. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Linux 2.4 (heping) w/C++ & FORTRAN
* [svn-r9375] Purpose:Quincey Koziol2004-10-061-0/+34
| | | | | | | | | | | | | Bug fix Description: Close a couple of memory leaks Platforms tested: FreeBSD 4.10 (sleipnir) Solaris 2.7 (arabica) w/purify Linux 2.4 (verbena) too minor for h5committest
* [svn-r9350] *** empty log message ***Raymond Lu2004-10-011-2/+1
|
* [svn-r9329] James Laird2004-09-281-65/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: Feature Description: Datatypes and groups now use H5FO "file object" code that was previously only used by datasets. These objects will hold a file open if the file is closed but they have not yet been closed. If these objects are unlinked then relinked, they will not be destroyed. If they are opened twice (even by two different names), both IDs will "see" changes made to the object using the other ID. When an object is opened using two different names (e.g., if a dataset was opened under one name, then mounted and opened under its new name), calling H5Iget_name() on a given hid_t will return the name used to open that hid_t, not the current name of the object (this is a feature, and a change from the previous behavior of datasets). Solution: Used H5FO code that was already in place for datasets. Broke H5D_t's, H5T_t's, and H5G_t's into a "shared" struct and a private struct. The shared structs (H5D_shared_t, etc.) hold the object's information and are used by all IDs that point to a given object in the file. The private structs are pointed to by the hid_t and contain the object's group entry information (including its name) and a pointer to the shared struct for that object. This changed the naming of structs throughout the library (e.g., datatype->size is now datatype->shared->size). I added an updated H5Tinit.c to windows.zip. Platforms tested: Visual Studio 7, sleipnir, arabica, verbena Misc. update:
* [svn-r8731] Purpose:Quincey Koziol2004-06-231-6/+4
| | | | | | | | | | | | | | | Code cleanup & minor optimization Description: Re-work the way interface initialization routines are specified in the library to avoid the overhead of checking for them in routines where there is no interface initialization routine. This cleans up warnings with gcc 3.4, reduces the library binary size a bit (about 2-3%) and should speedup the library's execution slightly. Platforms tested: FreeBSD 4.10 (sleipnir) w/gcc34 h5committest
* [svn-r8424] *** empty log message ***Raymond Lu2004-04-271-1/+2
|
* [svn-r8422] Purpose:Albert Cheng2004-04-261-2/+1
| | | | | | | | | | | | | Undo the mysterous changes. Description: Somehow something changed this file during snapshot release. Undo the change. Platforms tested: No test since it is a simple editing. Misc. update:
* [svn-r8418] Snapshot version 1.7 release 23HDF Admin2004-04-251-1/+2
|
* [svn-r8416] Purpose:Quincey Koziol2004-04-241-56/+57
| | | | | | | | | | | | | Code cleanup Description: Reduce warnings w/PC-Lint in various ways Platforms tested: PC-Lint too minor to require h5committest Misc. update:
* [svn-r7917] Purpose:Quincey Koziol2003-12-061-2/+2
| | | | | | | | | | | | | | | | | | | 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-r7626] Purpose:Quincey Koziol2003-10-141-2/+2
| | | | | | | | Update dependencies and tracing information Platforms tested: Linux 2.4 (verbena) w/FORTRAN too minor for h5committest
* [svn-r7616] Purpose:Quincey Koziol2003-10-131-16/+41
| | | | | | | | | | | | | | | Code cleanup Description: Change field member count and indices for compound and enumerated types from 'int' to 'unsigned' to better reflect actual use. Cleaned up a few other minor compiler warnings, etc. Platforms tested: FreeBSD 4.9 (sleipnir) Linux 2.4 (verbena) too minor to require h5committest
* [svn-r7468] Purpose:Quincey Koziol2003-09-121-53/+125
| | | | | | | | | | | | | | | | | | Code cleanup, etc. Description: Generalize Ray's datatype fixes to handle packing compound datatypes which are the base type of an array or variable-length type, etc. Also track "packedness" of a compound datatype from it's creation, instead of only setting the 'packed' flag after the datatype was explicitly packed. Updated docs to reflect that a compound datatype is allowed to grow (but not shrink). Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r7461] Purpose: bug #1017Raymond Lu2003-09-101-3/+9
| | | | | | | | Description: H5Tpack fails if called twice or datatype is locked. Compound datatype wasn't expandable. Platforms tested: h5committest
* [svn-r7434] Purpose:Quincey Koziol2003-08-311-7/+2
| | | | | | | | | | | | | | | | | | | | Bug Fix and code cleanup Description: Correct error in H5T_detect_class that was causing nested compound datatypes with to not detect the datatype class of fields correctly, which caused errors with fill-values, variable-length datatypes and chunks later on. Return the rank of the array datatype from H5Tget_array_dims(), like H5Sget_dims(). Lots of cleanups to datatype code, to make the handling of arrays, compound types, variable-length strings and sequences and enumerated types more consistent and robust. Platforms tested: FreeBSD 4.9 (sleipnir) h5committest
* [svn-r7116] Purpose:Quincey Koziol2003-06-271-2/+4
| | | | | | | | | | | | Update code Description: Move "PABLO_MASK" definition above header file inclusion to avoid problems with inline functions in header files. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r6828] Purpose: bug fixRaymond Lu2003-05-071-1/+1
| | | | | | | | | Description: H5T_XXX_init_interface calls H5T_init_interface causing datatype not closed after file is closed. Solution: changed H5T_init_interface to H5T_init Platforms tested: h5committest
* [svn-r6395] Purpose:Quincey Koziol2003-02-121-0/+512
Code cleanup. Description: Break up the ~9350 line H5T.c module into smaller pieces, which contain code for a particular feature or support for a datatype class. This should make the "main" H5T code (still in H5T.c) easier to support, as well as removing some of the "minor" routines from the user applications which don't use them (my rough estimates show about 4% reduction (~30K on a FreeBSD machine) in optimized, staticly-linked binaries for very simple programs) Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir) Misc. update: Update MANIFEST