summaryrefslogtreecommitdiffstats
path: root/src/H5detect.c
Commit message (Collapse)AuthorAgeFilesLines
* OESS-29 Fix shared MPI builds, more HD prefixAllen Byrne2019-08-221-29/+32
|
* Merge CMake changes from 1.10 to 1.8Allen Byrne2018-10-021-793/+695
|
* Correct attribute locationAllen Byrne2018-05-221-20/+20
|
* HDFFV-10398 patch for UBSANAllen Byrne2018-02-051-13/+29
|
* Update text in COPYING files in subdirectories to match changes tolrknox2017-05-241-6/+4
| | | | | | | | | copyright notices in source files. Update Copyright notices in acsite.m4 and bin/yodconfigure that were overlooked by chkcopyright. Remove broken and unnecessary urls from comments in hl/fortran/src/H5IMcc.c and hl/src/H5IM.c. Commit bin/reconfigure changes to generated files.
* Change copyright headers to replace url referring to file to belrknox2017-05-161-6/+4
| | | | removed and replace it with new url for COPYING file.
* [svn-r27165] Merge 27133 & 27158 from trunk:Mohamad Chaarawi2015-06-081-3/+3
| | | | | | | | | - Add a new attribute function characterstic for format: * 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-r27030] Merge r27029 from trunk.Jerome Soumagne2015-05-061-1/+1
| | | | | | Fix bad comment in H5detect, this was preventing PGCC from compiling correctly. Tested on: bluewaters
* [svn-r26398] Merges r26333 from trunkDana Robinson2015-03-091-12/+12
| | | | | | | | | | | | | | | | Eliminates gcc warnings due to -Wunsuffixed-float-constants. - Adds 'F' suffixes for most float constants. - A few constants MUST be of type double. These now receive the long double L suffix and are then cast to double. I do this via a new H5_DOUBLE() macro which was added to H5private.h. - Additionally, some 1.8-specific float suffixes were added. Fixes: HDFFV-9148 Tested on: h5committest
* [svn-r26386] Merge r26375 from trunkJerome Soumagne2015-03-061-6/+11
| | | | | | Print number of times sigill_handler is called in H5detect. Part of: HDFFV-8857
* [svn-r24794] Port r24757 from trunk to 1.8 branch.Neil Fortner2014-03-131-1/+1
| | | | | | | | | | | | Tested: ostrich, platypus (h5committest, apparent system issue on jam and koala) Log from r24635: Change assertion to condition check/error return. Should fix periodic assertion failure in fheap test (in test that is expected to fail cleanly). Fix typo in H5detect.c Tested: ostrich, platypus (h5committest - jam and koala having issues)
* [svn-r24438] Issue 8147 - clang's -fcatch-undefined-behavior exposed ↵Raymond Lu2013-11-131-4/+43
| | | | | | undefined behavior in the alignment detection algorithm for integers in H5detect.c. Quincey decided to solve it in two steps. First, catch illegal instruction signal in the original algorithm. Second, use POSIX __alignof function to detect alignment if it's available. This checkin is the first step. I merged the change from the trunk. Tested on wren, jam, ostrich, platypas, and koala.
* [svn-r24379] Merged r24333 from trunk.Dana Robinson2013-10-311-2/+2
| | | | | | | Added volatile keyword to find_bias() function in H5detect. Fixes HDFFV-8547. Change to H5win32defs.h fixes a minor typo. Tested on 64-bit Visual Studio 2010 / 64-bit Windows 7 (Visual Studio warning)
* [svn-r24209] Port r24171 from trunk to 1.8 branch.Neil Fortner2013-09-271-94/+121
| | | | | | | | | | | | | | | | | | | Tested: jam, koala, ostrich, platypus (h5committest) Log from r24171: Purpose: Fix problem with gcc 4.8 Description: With optimization enabled, gcc 4.8 inserts garbage into the padding bytes of floating point types when assigning from a literal constant. This caused problems when H5detect.c scanned the bits in floating point types to determine their properties. Modified H5detect.c to scan for padding before further analyzing the type, and to ignore all information in the padding areas. Also removed code that temporarily disabled optimization. Tested: jam, koala, ostrich, platypus (h5committest)
* [svn-r24203] Port r24139 from trunk to 1.8 branch.Neil Fortner2013-09-261-42/+74
| | | | | | | | | Tested: jam, koala, ostrich, platypus (h5committest) Log from r24139: Remove "will never be exectued" warnings in H5detect.c Tested: jam, koala, ostrich (h5committest)
* [svn-r23719] Description:Quincey Koziol2013-05-291-49/+49
| | | | | | | | | | | | Bring r23713 and r23717 from trunk to 1.8 branch: 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-r23049] Description:Quincey Koziol2012-11-221-11/+10
| | | | | | | | | | Bring r23048 from trunk to 1.8 branch: fixed coverity 678, 679 Tested on: Mac OSX/64 10.8.2 (amazon) w/debug (too minor to require h5committest)
* [svn-r22291] Description:Quincey Koziol2012-04-171-1/+1
| | | | | | | | | | Bring r22287 from trunk to 1.8 branch: 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-r21925] Description:Quincey Koziol2012-02-101-1/+1
| | | | | | | | | | | | | | Bring r21919-21924 from trunk to 1.8 branch: cleanup FUNC_ENTER macros, etc. Also removed Subversion mergeinfo tags from a few directories and files. These are artifacts from non-root merges using pre-1.6 Subversion clients. (This should fix the problem of unchanged directories looking "changed" during checkins.) Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & production (daily tested on trunk)
* [svn-r20481] Description:Quincey Koziol2011-04-121-1/+1
| | | | | | | | | | | Bring r20480 from trunk to 1.8 branch: Remove global variable for the path name in the group traversal code. Also clean up a bunch of compiler warnings. Tested on: Mac OS X/32 10.6.7 (amazon) w/debug & production (h5committested on trunk)
* [svn-r18872] Description:Quincey Koziol2010-05-211-8/+8
| | | | | | | | | | | Bring r18871 from trunk to 1.8 branch: Clean up compiler warnings (on Windows, I hope) by marking some routines as taking 'volatile' parameters. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug (too minor for h5committest)
* [svn-r18800] Description:Quincey Koziol2010-05-131-0/+3
| | | | | | | | | Added note about use of volatile for variables. Added blurb to release notes about fixing strict-aliasing problems. Tested on: None - trivial change to comment.
* [svn-r18678] Just mopped up some looseends by using the macro HDxyz instead ↵Albert Cheng2010-04-291-7/+7
| | | | | | | | the xyz function names. Tested: Jam only since this is trivial.
* [svn-r18661] Description:Quincey Koziol2010-04-281-13/+19
| | | | | | | | | Tweak H5detect to be even more careful about its actions, to allow gcc 4.5 to use '-O3'. Also, minor code cleanups in H5Tfloat.c Tested on: FreeBSD/64 6.3 (liberty) w/gcc 4.5 & production mode (h5committest not necessary/appropriate)
* [svn-r18658] Bug: 1764Albert Cheng2010-04-281-65/+194
| | | | | | | | | | | | | | | | | | | | | | | | Description: longjmp do not necessary restore signal that is blocked during the signal handling. This caused the Alignment test to fail quietly, resulting in wrong alignment information which will cause failures later. Solution: One can use sigsetjmp/siglongjmp to restore signal handling but not all systems such as Cray XT or VMS supports sigsetjmp. Backup solution is to use sigprocmask to reset the signal. Again, some systems may not support it either. Added code to try the first and then the second solution. Also added tests to verify if the signal_handler routines are working properly. Finally, added code to print results of the verification (in form of comments) to H5Tinit.c for inspection in case of failure. (Note that many platforms do not have alignment limits at all and ALIGNMNET code never raise the SIGBUS or SIGSEGV errors. In those cases, it does not matter whether the signal handlers work or not. Again, this can be deduced from the results comments near the end of the H5Tinit.c. If the sum of signal handlers called equals the total of verify, it means ALIGNMENT does not raise any signals.) Tested: htcommittested (linew is not accessible), jam(serial), Redstorm.
* [svn-r18628] Description:Quincey Koziol2010-04-251-16/+8
| | | | | | | | | | | | Bring r18627 from trunk to 1.8 branch: More progress toward addressing Bz#1398: add 'volatile' keyword to floating- point types when detecting their properties. Also, minor code formatting cleanups. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug) (h5committested on trunk)
* [svn-r18493] Bug fix:Albert Cheng2010-04-011-1/+0
| | | | | | | | | | | | | | | | | Testlibinfo.sh failed again. Solution: Removed the const from H5libhdf5_settings definition, again. Revamp the whole setting so that H5lib_settings.c is compiled individually, just like H5Tinit.c. Hope this will take care of the problem once for all. Tested: Amani using --disable-shared with --enable and --disable-embedded-libinfo. Will test this on the AIX platform after commit (cannot run bin/reconfigure in the AIX platform and it is too clumsy to try to ssh files back and forth and incurred "svn merge inconsistency" later too. Pretty confident this fix should work in all other platforms.
* [svn-r18422] Description:Quincey Koziol2010-03-181-99/+2
| | | | | | | | | | | | | | | | | | | | | | | Bring r18413:18420 from trunk to 1.8 branch: - unify srcdir query, etc. - Move libhdf5.settings string out of H5Tinit.c 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, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r18013] Description:Quincey Koziol2009-12-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18011 from trunk to 1.8 branch: Bring Coverity changes into the trunk: (also other minor cleanups) r17991: Fix Coverity items 175 and 176. Fixed memory leak on error in print_enum in H5LT.c. r17993: (r17992 was not a Coverity change) Close Coverity issue #206: inconsistently checking whether dt->shared was non-NULL after H5T_alloc() returned a valid 'dt' value (which should guarantee that dt->shared is valid). r17994: Fix Coverity item 149. Fixed file handle leak on error in H5FD_stdio_open. r17995: Fixed Coverity issues 154 to 161: Added H5MP_close routine to error handling in the event *mp has not been freed before error. r17996: Close Coverity issue #126: potentially leaking merged_spans on routine failure. r17997: Fix Coverity items 147 and 148. Fixed resource leaks on error in H5FDloc.c. r17998: Coverity issue 269-272: Added integer result variable to functions that could return negative. Assigned to unsigned after checking. Added H5E_BEGIN_TRY block around H5Tclose and removed H5E_THROW in the catch block. Checked buffer is NULL before free. Changed HGOTO_ERROR outside of the if block to H5E_THROW. r17999: Close Coverity issue #127: release temporary spans in more generic manner. (Also add error checking to previous fix) r18000: Resolved Coverity issues 211 and 212 in H5T.c. Added comments to ignore Coverity warning regarding not checking pointer for NULL, as we are using an assert which catches the issue. r18001: Fix Coverity item 146. Fixed resource leak on error in H5O_layout_copy. r18002: Fix Coverity items 143 and 145. Fixed resource leaks on error in H5D_compact_copy and H5D_contig_copy. r18003: Close Coverity issue #192: close file on error r18004: Fix Coverity issue #125: release temporary spans on error r18005: Resolved Coverity issues 5, 25, and 83 (in H5T.c): Separated embedded functions in order to check for NULL on return of H5I_object before passing into H5T_copy. Check to see if new_dt is NULL within error handling before dereferencing it. Ignore Coverity's dead code warnings as the checks that lead to the code are machine dependent. r18006: Coverity 63,70,73: Checked result of function before assigning to an unsigned variable. r18007: Coverity 78,79: added continue statement if H5Pget_filter2 returns negative. r18008: Fixed Coverity issue # 138: Added support in error handling to free dst pointer (if allocated) on error. r18009: Whitespace & coding style cleanup Tested on: Mac OS X/32 10.6.2 (amazon) w/debug & production (h5committested on trunk)
* [svn-r17839] Description:Quincey Koziol2009-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r17838 from trunk to 1.8 branch: Further refactoring of v2 B-tree code, moving toward being able to pass a context information to a client's encode/decode callbacks. Also, clean up of other minor compiler warnings and code formatting issues. 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 (smirom) 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, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.6.1 (amazon) in debug mode Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r17500] Bug fix and improvement.Albert Cheng2009-09-191-3/+8
| | | | | | | | | | | | Description: Build failed when embedded-info is not enabled. Fixed. testlibinfo.sh output was ugly, did not prepare the case of embedded-info not enabled. Fixed. Also changed NOT to test test binary even if static-exec is enabled. Tested: jam (with and without embedded-info enabled). Did not test in other platforms since these were script changes that are platform independent.
* [svn-r17499] Purpose:Albert Cheng2009-09-181-18/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stage 2 implementation of embedded library information feature. H5.c: added code to print the embedded library information when there is a library versions mis-match occurs. This ensures the library information string is included in the executable. Also modifies the code so that the Library mismatch warning string is included only once in the executable. H5private.h: Added a global reference to the libinfo string variable to prepare for possible stage 3 implementation of a public API. test/testlibinfo.sh.in: A new test added to verify the library information is indeed included in the executables. configure.in: configure: Added entry to auto-generate test/testlibinfo.sh. H5detect.c: Modified the libhdf5settings generating code to allow it to insert the strings to a file other than stdout. This maybe needed in stage 3 implementation. MANIFEST: updated with the newly added file of testlibinfo.sh.in. Tested: h5committest passed. Also passed jam in serial mode.
* [svn-r16830] Bug fix.Albert Cheng2009-04-211-1/+1
| | | | | | | | | | | | | | | | In Up (AIX system), the insert_libhdf5_settings() infinite looped because it never found EOF. Man getc in another system said: "If the integer value returned by getc() is stored into a variable of type char and then compared against the integer constant EOF, the com- parison may never succeed, because sign-extension of a variable of type char on widening to integer is implementation-defined." Solution: Changed inchar from type char to int fixed the problem. Morale of the story: RTFM or HTCW (heed the compiler warnings). Tested: Up (AIX 5.3).
* [svn-r16813] New feature(Bug 230):Albert Cheng2009-04-201-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | Embed the content of libhdf5.settings into the hdf5 executables so that an "orphaned" executables can display (via the Unix strings command, for example) the library settings used to build the executables. This is a prototype implementation. Much improvement is needed. configure.in: Added the --disable-embedded-libinfo option to disable this feature. configure: src/H5config.h.in: Generated by autotools like automake. src/H5detect.c: Implement insert_libhdf5_settings() to insert the contents of libhdf5.settings into the library as an extern string variable so that it is included in all HDF5 executable. Much improvement is needed. fortran/src/Makefile.in: Auto-generated by bin/reconfigure. (i.e., I did make any changes to cause its direct regeneration). Tested: Jam serial, using default and --disable-embedded-libinfo, configure options.
* [svn-r16490] Fixed bug #1459 by eliminating the macro long_long and ↵Allen Byrne2009-02-181-2/+2
| | | | | | | | | replacing all instances with long long. Tested: h5comittest fedora 10 x64 XP32, VNET
* [svn-r15610] Description:Quincey Koziol2008-09-101-37/+100
| | | | | | | | | Bring r15609 back from trunk: Omnibus compiler warning cleanup & some formatting happiness. Tested on: Mac OS X/32 10.5.4 (amazon) Too minor to require h5committest
* [svn-r15486] 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-r15118] Purpose: Backport Windows project cleanup from trunk: remove ↵Scott Wegner2008-06-021-6/+0
| | | | | | | | | | | | | | | | | ignored system library, standardize program debug information, and unify Windows h5tinit Description: These changes are made via a user's suggestion, bugzilla bug #1164. These have all been tested in the trunk, and are stable/favorable changes. In many of our project files on Windows, we have our linker setting set to ignore old link libraries-- either libc.lib or libcd.lib. This is a relic from converting project files from old versions of Visual Studio to newer ones, and is unnecessary. We remove the ignored library from the project files. This actually makes no difference in the output binaries. In our debug project configurations, many of the projects were generating debug information for "Program Database and Edit & Continue". Other projects were using different settings, or none at all. We standardize to use "Program Database" setting, because it generates much smaller .obj files and cuts out unnecessary debug information. Previously, there was Windows-dependent code inside H5detect.c, because not all projects could access the gethostname() function. However, we standardize our project-files to link with WS2_32.lib, so now this function is available. Thus, the Windows-specific code has been removed from H5detect.c. Tested: VS2005 on WinXP VS.NET on WinXP
* [svn-r14067] Purpose: Revise usage of H5_HAVE_SIGLONGJMPScott Wegner2007-08-101-1/+3
| | | | | | | | Description: The way I had integrated H5_HAVE_SIGLONGJMP previously, we conditionally removed far more functionality than we needed. As a result, Windows type alignment was lost. This commit localizes the ifdef so it only surrounds the actual call to siglongjmp. This is equivalent to what we've done in the past-- simply comment out the line. Tested: VNET on WinXP
* [svn-r14056] Purpose: Take advantage of new H5_HAVE_SIGLONGJMP flag in ↵Scott Wegner2007-08-081-1/+1
| | | | | | | | | | | H5detect.c Description: Visual Studio does not have the function siglongjmp. Therefore, we have created a new configure flag H5_HAVE_SIGLONGJMP that tests for this. We use this within H5detect.c. Tested: VS.NET h5committest
* [svn-r13766] In Visual Studio 2005 for 64-bit, _WIN32 is defined, but not ↵Scott Wegner2007-05-181-1/+1
| | | | | | | WIN32, so I've standardized all #ifdef's to use _WIN32. This should not affect any other platform. Tested: Visual Studio (32- and 64-bit) on Win XP
* [svn-r13700] Updated the copyright generated by the program to the THG notice.Albert Cheng2007-04-241-2/+3
| | | | | Tested: kagiso (no committed test since it is trivial.)
* [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-r12091] Purpose: Support for VAX floating-point types.Raymond Lu2006-03-141-17/+43
| | | | | | | | | | | | Solution: Support VAX float and double types with new byte order. There're some details not yet included, 1. the alignment detection for VAX order in H5detect.c. 2. support for special values in library conversion functions. 3. the infinity for VAX in H5T_init_inf. 4. support for VAX types in printing hexadecimal format. Platforms tested: h5committest and fuss.
* [svn-r11886] Purpose:Quincey Koziol2006-01-231-4/+0
| | | | | | | | | | | | | Code cleanup Description: Check in some of the code cleanups from working on the external link support. (This doesn't include any of the external link features) Platforms tested: FreeBSD 4.11 (sleipnir) Mac OSX.4 (amazon) Linux 2.4
* [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-r11384] Purpose:Quincey Koziol2005-09-121-10/+7
| | | | | | | | | | | | | | | | | | | | | 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-r11245] Purpose:Quincey Koziol2005-08-131-23/+23
| | | | | | | | | | | | | | | | | | | | 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-r11144] Purpose:Quincey Koziol2005-07-231-1/+1
| | | | | | | | | | | New port Description: Elena asked me to check in her NEC SX-6 work, so here it is! :-) Platforms tested: FreeBSD 4.11 (sleipnir) NEC SX-6 (by Elena)
* [svn-r11073] Purpose: Small bug fixElena Pourmal2005-07-141-1/+1
| | | | | | | | | | | Description: On VMS assertion failed due to a typo ("/" instead of "%") Solution: Fixed a typo Platforms tested: VMS (code is not exercised on other platforms) Misc. update: