summaryrefslogtreecommitdiffstats
path: root/src/H5Tconv.c
Commit message (Collapse)AuthorAgeFilesLines
* Add new H5R API that abstracts object, region and attribute reference typesJerome Soumagne2019-10-081-0/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also support references to external files Add new H5T_REF type and type conversion routines Support conversion from H5T_REF_OBJ/DSET_REG to H5T_REF Add H5Treclaim() API to reclaim memory of vlen/reference types Deprecate H5Dvlen_reclaim() Fix H5T_vlen_reclaim() and H5T_reclaim() to use private callback Add H5T_ref_reclaim() Move previous H5R APIs to H5Rdeprec.c Clean up H5Ocopy Separate H5O_copy_expand_ref() to H5Ocopy_ref() Add support for copying new reference types Clean up deprecated routines to go through VOL and same code path Fix return codes in existing trefer.c test Rename trefer.c to trefer_deprec.c trefer.c is for new references Add performance test for trefer Add additional obj_copy_ref test Make use of tokens and blobs to store references Skip blob encoding for object references Start adding new reference examples
* Add 'blob' callbacks to VOL, along with a native implementation to store themQuincey Koziol2019-10-081-36/+38
| | | | | | | in the global heap, and changed the VL datatype conversion code to use blobs. Move encode/decode of sequence lengths into VL datatype callbacks, from native VOL blob routines.
* Updated configure & CMake compiler flags for GCC 8.x, along with correspondingQuincey Koziol2019-06-281-21/+21
| | | | | changes to warnhist script (and some extra improvements for condensing C++ and Java warnings), and fixed a bunch of warnings.
* Added an H5MM_memcpy call that checks for buffer overlap.Dana Robinson2019-03-161-11/+11
|
* C and POSIX call cleanupDana Robinson2019-01-111-1/+1
|
* VOL FEATUREDana Robinson2018-10-101-3/+3
|
* Normalization with vol_integration (misc internal and datatype)Dana Robinson2018-09-201-39/+28
|
* Fixed HDFFV-10404Binh-Minh Ribler2018-07-131-5/+5
| | | | | | | | | Description: Applied the typo fixes from user's report. The previous pull request couldn't be merged because it was too old, and it was too complicated for me to resolve conflicts. Platform tested: Linux/64 (jelly) - very minor
* Add API context interface and use it throughout the library.Quincey Koziol2018-03-151-998/+383
|
* Normalization with VOL integration branch.Dana Robinson2017-12-011-31/+59
|
* 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-r30017] Description:Quincey Koziol2016-06-061-4/+4
| | | | | | | | | Bring warning cleanusp in r29990, 29993, 29997, 29999, 30004 from revise_chunks branch to trunk. Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production. (h5committest forthcoming)
* [svn-r27768] Description:Quincey Koziol2015-09-141-3/+4
| | | | | | | | | | | | | | | | | | | | | | 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-r27572] Removed VMS-specific code from the library.Dana Robinson2015-08-241-2/+5
| | | | | | | | | The only remaining code consists of a few floating-point tests that rely on pre-generated and checked-in VMS files. These have been left alone, even though they will not be possible to recreate, since testing VMS float behavior is still important. Tested on: h5committest
* [svn-r27428] Bug fix: DAILYTEST-170Albert Cheng2015-07-241-0/+8
| | | | | | | | | | | | | | | | | | | Description: XL compilers in ostrich (PowerPC64 linux) fail in test/dt_arith because of the removal of the LLONG_TO_LDOUBLE_CORRECT (removed in r26625) and LDOUBLE_TO_LLONG_ACCURATE (removed in r26623). Solution: Reverse revisions r26623: bring back LDOUBLE_TO_LLONG_ACCURATE configure macro r26625: bring back LLONG_TO_LDOUBLE_CORRECT configure macro r26627: bring back WANT_DATA_ACCURACY configure macro which is used together with the above two macros. This also brings back the enable-dconv-accuracy configure option. Tested: h5committested. Also tested in ostrich using the XL compilers.
* [svn-r27133] - Add a new attribute function characterstic for format:Mohamad Chaarawi2015-06-011-331/+331
| | | | | | | | * H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z))) - Rename UNUSED attribute characterstic to H5_ATTR_UNUSED. - Rename NORETURN attribute characterstic to H5_ATTR_NORETURN tested with h5committest.
* [svn-r27130] Fix warnings in H5TconvJerome Soumagne2015-06-011-91/+132
| | | | | | Remove H5T_INIT_INTERFACE from H5Tconv Add macro in H5Tconv to check overflow when using H5T_CONV_uS
* [svn-r27045] Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-orderedDana Robinson2015-05-101-9/+9
| | | | | | the arguments to be in a more logical order. Tested on: h5committest
* [svn-r26625] Description:Quincey Koziol2015-03-271-4/+0
| | | | | | | | | | | Bring r26543 from autotools_rework branch to trunk: Remove the LLONG_TO_LDOUBLE_CORRECT macro/define, it's working around bugs in very old SGI/FreeBSD/Windows compilers. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested on branch for 2+ days)
* [svn-r26623] Description:Quincey Koziol2015-03-271-4/+0
| | | | | | | | | | | Bring r26513 from autotools_rework branch to trunk: Remove the LDOUBLE_TO_LLONG_ACCURATE macro/define, it's working around bugs in older SGI, HP/UX, MacOSX and Windows .NET 2003 compilers. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested on branch for 2+ days)
* [svn-r26606] Description:Quincey Koziol2015-03-261-4/+0
| | | | | | | | | | | Bring r26508 from autotools_rework branch to trunk: Remove HW_FP_TO_LLONG_NOT_WORKS macro/define, it was only addressing Windows .NET 2003 compiler issues. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested on branch for 2+ days)
* [svn-r26605] Description:Quincey Koziol2015-03-261-12/+8
| | | | | | | | | | | | | | Bring r26503 & r26528 from autotools_rework branch back to the trunk: Remove old platform configure files: craynv, dec-flags, hpux11.23, ia64-linux-gnu, nec-superux14.1, sv1-cray, x86_64-redstorm-linux-gnu Also remove CONVERT_DENORMAL_FLOAT, since this was only set in the configure files being removed. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested on branch for 2+ days)
* [svn-r26596] Description:Quincey Koziol2015-03-261-4/+0
| | | | | | | | | | | Bring r26499 from autotools_rework branch to trunk: Remove ULLONG_TO_FP_CAST_WORKS macro/define, as it only applies to older platforms we aren't supporting any longer. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested on branch for 2+ days)
* [svn-r26595] Description:Quincey Koziol2015-03-251-2/+0
| | | | | | | | | | | Bring r26494 from autotools_rework branch back to trunk: Remove the LDOUBLE_TO_UINT_ACCURATE macro/define, it was addressing problems with older Intel compilers on Linux that are no longer supported. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested on branch for several days)
* [svn-r26591] Description:Quincey Koziol2015-03-251-4/+0
| | | | | | | | | | | | Bring r26492 from autotools_rework branch back to trunk: Remove the FP_TO_ULLONG_ACCURATE and FP_TO_ULLONG_RIGHT_MAXIMUM macros/defines, which were added to address problems with older PGI compilers and HP-UX systems and are no longer supported. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (daily tested on branch for >1 week)
* [svn-r26587] Description:Quincey Koziol2015-03-251-6/+0
| | | | | | | | | | | Bring r26489 from autotools_rework branch to trunk: Remove the ULONG_TO_FP_BOTTOM_BIT_ACCURATE macro/define, as it was added for SGI systems and old Solaris systems, which are no longer supported. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (Daily tested for >1 week)
* [svn-r26560] Description:Quincey Koziol2015-03-241-14/+0
| | | | | | | | | | | Bring r26483 from autotools_rework branch back to trunk: Remove INTEGER_TO_LDOUBLE_ACCURATE macro/define - we no longer support SGI systems. Tested on: Linux/32 2.6.18 (jam) w/serial & parallel (daily tested on branch for >1 week)
* [svn-r26495] Description:Quincey Koziol2015-03-191-14/+0
| | | | | | | | | | Bring r26258 from the autotools_rework branch to the trunk - remove the LDOUBLE_TO_INTEGER_WORKS macro/define, which was addressing issues with SGI systems that are no longer supported. Tested on: Linux 2.6.x (jam) w/serial & parallel Daily tested on branch for >2 weeks
* [svn-r26206] Reverting change r26204Scot Breitenfeld2015-02-181-4/+0
|
* [svn-r26205] Fix for HDFFV-8908:Scot Breitenfeld2015-02-181-0/+4
| | | | | h5tenum_insert_f does not work with default 8 byte integers (xlf compiler)
* [svn-r24803] Description:Quincey Koziol2014-03-161-54/+54
| | | | | | | | | | | | Rename GCC_DIAG_OFF/ON macros to H5_GCC_DIAG_OFF/ON and move from src/H5private.h to src/H5public.h. Wrap typedef of hsize_t and hssize_t in DIAG_OFF(long-long) macros. Clean up a bunch of "macro '-' is unused" warnings. Tested on: Mac OSX/64 10.9.2 (amazon) w/gcc 4.8.2, C++, FORTRAN, parallel (too minor to require h5committest)
* [svn-r24101] Description:Quincey Koziol2013-09-051-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up warnings, enable new compiler warning flag(s) and bring back changes from Coverity branch: r20813: Remove the dead code as listed for coverity bug #1722. h5committested. r20814: Issue 69: Check return value and throw error if negative return. Also free datatype id on error r20815: Use HDstrncpy. --gh r20816: Replaced one last HDstrcat call with HDstrncat to resolve coverity issue 832. r20817: Use HDstrncpy and HDstrncat. --gh r20818: Purpose: Fix valgrind issues with h5jam Description: Modified h5jam to free strings strdup'd in parse_command_line before exit. Note that they may still not be freed in case of error, due to the widespread use of exit(). r20819: Issue 80: change loop to use int as loop index. r20820: Maintenance: Fixed the bug found by coverity CID 788 There were two problems with this function: 1) it tried to unnecessary free NULL pointer 2) it tried to allocate c_name buffer that is done by H5Pget_class_name Tested on: Mac OSX 10.8.4 (amazon) w/gcc 4.8.1, C++ & FORTRAN (too minor to require h5committest)
* [svn-r23713] Description:Quincey Koziol2013-05-211-275/+352
| | | | | | | | | | Clean up warnings, switch library code to use Standard C/POSIX wrapper macros, remove internal calls to API routines, update checkapi and checkposix scripts. Tested on: Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN Big-Endian Linux/64 (ostrich)
* [svn-r23698] Description:inactive/trunk_merge_coverityQuincey Koziol2013-05-131-330/+254
| | | | | | | | Revert r23695, which breaks big-endian tests on ostrich, etc. Will investigate and submit correction later. Tested on: BE & LE Linux systems (ostrich, koala, jam, emu)
* [svn-r23695] Description:Quincey Koziol2013-05-111-254/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up warnings in H5Tconv.c (down to _only_ 9000 lines of output now!) Merge changes from Coverity branch back to trunk: r20684: Fix for coverity bug #1721 which was due to the fix for coverity bug #943. r20685: Use HDstrncpy. --gh r20761: Purpose: Fix valgrind issues Description: Free image_data and data as appropriate in test_image. r20762: Purpose: Fix coverity issue 600 Description: Add check for return value of H5O_close in H5Ocopy. Also cleaned up various warnings. r20763: Purpose: Fix valgrind issues with h5stat Description: Modified h5stat to free "iter" before exit, and free "hand" before exit if parse_command_line exits directly. r20764: fixed coverity issues: 69, 327, 614, 684, 685, 696, 697, 1681, 967, 826, 660, 80 r20765: Fixed coverity bug 668 Pulled x * y * z multiply out of malloc operand into a separate n_elements variable to quiet integer overflow warning. No actual integer overflow tests are performed since it's just a test program but I did add a check that n_elements is >= 1. I also changed an error condition from doing its own close and returning -1 to "goto out;" like the rest of the program. r20766: Fixed coverity bug 667 Pulled x * y * z multiply out of malloc operand into a separate n_elements variable to quiet integer overflow warning. No actual integer overflow tests are performed since it's just a test program. Tested on: Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN (h5committest upcoming)
* [svn-r23417] Fixes an issue (HDFFV-8159) where uninitialized memory was ↵Dana Robinson2013-03-211-8/+11
| | | | | | | | | | | | | being read during variable-length type conversion. All variable-length type conversion buffers are now initialized to contain 0s on allocation. Tested on: jam(w/ fortran, C++, parallel, parallel fortran) ostrich This is a very small change (basially changing malloc to calloc) and is unlikely to cause issues on other platforms.
* [svn-r22935] Description:Quincey Koziol2012-10-211-14/+11
| | | | | | | | | Clean up a few warnings and minor code issues during review of enum -> int/float conversion changes. Tested on: Mac OSX/64 10.8.2 (amazon) w/debug (too minor to require h5committest)
* [svn-r22914] I checked in the conversion function H5T__conv_enum_numeric ↵Raymond Lu2012-10-171-0/+83
| | | | | | (numeric type means integer or floating number) and the C test for it. This is the work for Chicago. Tested on jam, koala, and ostrich.
* [svn-r22749] Description:Dana Robinson2012-09-101-30/+28
| | | | | | | Undo of accidental check-in of H5T code in last check-in. Tested on: jam w/ parallel enabled (revert to pre-existing code)
* [svn-r22748] Description:Dana Robinson2012-09-101-28/+30
| | | | | | | H5FD_FLMAP_SINGLE changed to H5FD_FLMAP_DICHOTOMY in the MPI-POSIX VFD. Tested on: jam w/ parallel and fortran enabled (minor change)
* [svn-r22287] Description:Quincey Koziol2012-04-161-526/+526
| | | | | | | | 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-r21921] Description:Quincey Koziol2012-02-091-1/+3
| | | | | | | Add more braces to master conversion macro that was changed in r21919 Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r21919] Description:Quincey Koziol2012-02-091-1115/+30
| | | | | | | | 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-r21734] Issue 7582 - The library allowed the conversion of strings ↵Raymond Lu2011-11-081-0/+15
| | | | | | between ASCII and UTF8. I corrected it by adding a condition check in H5T_conv_s_s and H5T_conv_vlen to report an error under this situation. Tested on jam, koala, linew.
* [svn-r21508] Revoked svn check-ins 20913 and 20921 (fix for HDFFV-7579) ↵Dana Robinson2011-10-101-90/+2
| | | | pending a careful evaluation of enum conversion behavior.
* [svn-r20921] Issue 7579 - The overflowing ENUM values are inconsistent. I ↵Raymond Lu2011-05-271-5/+6
| | | | | | took out the error report for 2 H5Tclose calls in H5T_conv_enum because they would clear the error stack. Tested on jam - simple change.
* [svn-r20913] Issue 7579 - The overflowing ENUM values are inconsistent. ↵Raymond Lu2011-05-271-2/+84
| | | | | | | | | | When no conversion is involved in reading or writing the data, overflowing values are retained. When conversion happens, the values become -1. The conversion function puts -1 when overflow happens. I added two new dataset transfer property to control whether to fill 0xff in the destination data or convert to the destination data when overflow happens. The two new functions are H5Pset(get)_enum_conv_overflow. I also added test cases in enum.c and dtypes.c. Tested on jam, koala, and heiwa.
* [svn-r20896] I added some comments.Raymond Lu2011-05-241-0/+15
| | | | Tested on jam - very simple change.
* [svn-r20052] Description:Quincey Koziol2011-02-061-290/+291
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up Coverity warnings, and fix some style issues: r19735: Fix for memory leak in test/mf found by valgrind. r19736: Fix memory leak in h5repack. The buffer in copy_objects, when copying the entire dataset at once, was not checked for the presence of a vlen, and vlen storage was never reclaimed. Added check and call to H5D_vlen_reclaim(). r19772: Change H5assert() to if (H5T_VLEN != src->shared->type || H5T_VLEN != dst->shared->type) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a H5T_VLEN datatype") r19774: removed unused priv. r19775: removed unused variables r19778: Fix memory leak comparing for variable length data types. r19834: Fixed memory leaks found by valgrind. Memory errors remain for another day. Tested on: Mac OS X/32 10.6.6 (amazon) w/debug & production (h5committested on branch)
* [svn-r19398] Descriptino:Quincey Koziol2010-09-161-6/+6
| | | | | | | | | | | | | | | | | | | | | | | Clean up the internal usage H5I_dec_ref() to eliminate the sequence of flags that has been creeping in. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode Mac OS X/32 10.6.4 (amazon) in debug mode Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode