Commit Graph

74 Commits

Author SHA1 Message Date
Dana Robinson
1ae6daaa80 Sync with develop 2020-08-01 09:18:18 -07:00
Quincey Koziol
f38864920d Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into merge_func_enter_vol
Plus initial steps toward merging API context push into FUNC_ENTER_API* macros
2018-03-18 18:36:49 -05:00
Quincey Koziol
4a17aff408 Add API context interface and use it throughout the library. 2018-03-15 16:54:30 -05:00
Larry Knox
89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to 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.
2017-04-25 16:05:36 -05:00
Dana Robinson
2396a172ad [svn-r28861] Minor warning format string fix (HDFFV-9640).
Tested on: 64-bit Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1
           autotools parallel only (MPICH 3.1.4)
2016-01-12 07:28:39 -05:00
Dana Robinson
94a6e02b3d [svn-r27407] Updated the H5_ATTR_* macros.
- Updated the preprocessor logic that defines the H5_ATTR_* macros. The Solaris
  Studio compiler understands __attribute__ but not the specific attributes
  that we use. The H5_ATTR_* macros are now defined as blank with that
  compiler which significantly cleans up the warnings, making debugging
  easier.

- Replaced a few lingering __attribute__ macros with H5_ATTR_* markup.

Tested on: h5committest
           Solaris w/ Solaris Studio (emu)
2015-07-18 00:40:06 -05:00
Mohamad Chaarawi
ccdcbec635 [svn-r26678] add ifdef checks and setting for __attribute__ in a public place to allow usage in
public routines.
2015-03-31 14:54:31 -05:00
Quincey Koziol
5c3bd21963 [svn-r23988] Description:
Make compiler happier and issue less warnings.

Tested on:
	Mac OSX/64 10.8.4 (amazon) w/gcc 4.8
2013-08-10 13:20:38 -05:00
Neil Fortner
c04144fb39 [svn-r22601] Purpose: Fix HDFFV-5853
Description:
When jumping out from between H5_BEGIN_TAG and H5_END_TAG macros using
HGOTO_ERROR or HGOTO_DONE, the previous metadata tag is not reset on the dxpl.
This could cause problems when, for example, calling H5Ocopy within an
H5Literate callback.

Added new HGOTO_ERROR_TAG and HGOTO_DONE_TAG macros which must be used in place
of the above between H5_BEGIN_TAG and H5_END_TAG.

Tested:
jam, koala, ostrich (h5committest), durandal
2012-07-25 16:50:22 -05:00
Quincey Koziol
9c9ee2008c [svn-r21919] Description:
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
2012-02-08 22:13:27 -05:00
Quincey Koziol
066294e321 [svn-r18109] Description:
Bring r18076-18096 from hdf5_1_8_coverity branch to trunk:

r18076:
Correct Coverity issue #1 by removing dead code

r18077:
Fix coverity item 142.  When an error occurred while copying a linked list in
H5S_point_copy, the library would not free the partially allocated list.  Added
code to free the list in this case.

r18078:
Correct Coverity issue #2 by removing impossible to reach code.

r18079:
Correct #3 by removing impossible to reach code.

r18080:
Correct Coverity issue #4 by removing impossible to reach code.

r18081:
fix coverity 26 , check (dblik->parent) before calls H5HF_man_iblock_detach().

r18082:
Fixed coverity issues 321 and 316.
    321: freed sm_buf in error handling to remove resource leak. 
        Also set sm_buf to NULL after other instances in which 
        it is freed to prevent double free.
    316: initialized nmembs to 0.

r18083:
Correct Coverity issue #6 by removing debugging knob from error reporting code.

r18084:
Fix coverity item 269 + others.  When a error occurred in a function using the
h5tools error framework, the "past_catch" variable would not be set to true
because that statement was before the label that goto jumped to.  This could
cause a failure in the cleanup section to go back to the start of the section,
freeing variables twice, etc.

Moved the label infront of past_catch=TRUE.

r18085:
fixed coverity #27, check if (heap) before use heap->obj....

r18086:
fixed coverity #28, check curr_span not null before use it at if(curr_span &&
    (io_bytes_left==0 || curr_seq>=maxseq))

r18087:
Correct Coverity issue #7 by cleaning up correctly on error

r18088:
Correct Coverity #8 by removing unchanged variable checking code.

r18089:
Correct Coverity issue #9 - remove impossible to reach code.

r18090:
Correct Coverity issue #11 by removing impossible to reach code.  Also clean
up some minor style issues.

r18091:
Fix coverity items 314 and 318.  Changed the improper assertion of the return
value of a library function to a check, and a return(void) on failure.

r18092:
Fix coverity item 70.  Changed the improper assertion of the return value of a
library function to a check, and a return(void) on failure.

r18093:
Correct Coverity issue #12 by removing dead code.

r18094:
Correct Coverity issue #16 by removing debugging code.

r18095:
Fixed coverity issue # 271.

Removed redundant checking and freeing of sm_buf1 and sm_buf2.

r18096:
Correct Coverity issue #17 by refactoring test to remove dead code.

    Also, removed previous "coverity" statements in comments, we'll review
those issues again and see if we can figure them out, now that we have more
experience with Coverity.

Tested on:
    Mac OS X/32 10.6.2 (amazon)
2010-01-14 22:05:59 -05:00
Quincey Koziol
a44328438a [svn-r17863] Description:
Switch HSYS_GOTO_ERROR() & HSYS_DONE_ERROR() macros to use printf-like
functionality for displaying system error messages.

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.2 (amazon) in debug mode
        Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-11-10 14:29:56 -05:00
Quincey Koziol
a83a4ece41 [svn-r17860] Description:
"Normalize" object names for external links, making them into the same
form as used for soft links.

	Begin the process of adding more printf-like information to library
error reporting.  HGOTO_ERROR() and HDONE_ERROR() macros can now use the last
parameter (a string) like a printf() formatting string and pass extra
parameters with additional information.  (For example, see the HGOTO_ERROR
macros in H5FD_sec2_read() in src/H5FDsec2.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 (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.2 (amazon) in debug mode
        Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-11-10 12:11:34 -05:00
Quincey Koziol
c4fc0074ae [svn-r17140] Description:
Migrate "new style" func enter macros (BEGIN_FUNC/THROW/CATCH/END_FUNC) into
common header files, so that other packages can use them.

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/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.5.7 (amazon) in debug mode
    Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2009-07-02 10:57:54 -05:00
Quincey Koziol
8ae072d760 [svn-r16869] Description:
Reduce overhead for func enter/leave & error handling macros.  (Reduces
object code size by ~20% for production/~10% for debug, with gcc)

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (Too minor to require h5committest)
2009-04-28 09:41:07 -05:00
Quincey Koziol
aa03e8bc94 [svn-r15549] Description:
Initial checkin of extensible array data structure prototype code and
regression tests.

	Initial definitions for revised FUNC_ENTER/LEAVE and error reporting
macros, which are being vetted in the extensible array code.

	Minor warning and formatting cleanups in other sections of code.

Tested on:
        Mac OS X/32 10.5.4 (amazon) in debug mode
        Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (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/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 production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
2008-08-28 09:57:13 -05:00
Quincey Koziol
cdd4606430 [svn-r14097] Description:
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.

Tested on:
	Mac OS X/32 10.4.10 (amazon)
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
2007-08-21 16:08:27 -05:00
Quincey Koziol
d6bb18abbc [svn-r13648] Description:
Rename new error handling API routines from H5E<foo>_stack() to
H5E<foo>2().

Tested on:
    Mac OS X/32 10.4.9 (amazon)
    FreeBSD/32 6.2 (duty)
    FreeBSD/64 6.2 (liberty)
2007-04-11 20:59:45 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG 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.
2007-02-07 09:56:24 -05:00
Raymond Lu
cbe0bc01f0 [svn-r12345] Purpose: Codes for backward compatibility.
Description: Function prototype H5E_walk_t and structure H5E_error_t wasn't backward
compatible.

Solution: Make them compatible with v1.6 and provide new definitions of H5E_walk_stack_t
and H5E_error_stack_t.

Platforms tested: fuss and h5committest.
2006-05-12 13:29:49 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
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
2005-08-13 15:53:35 -05:00
Quincey Koziol
a80d0f1e83 [svn-r11196] Purpose:
Code tweak

Description:
    Add in a couple of minor changes from Elena's version of pushing the
system error information on the error stack.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-04 00:58:34 -05:00
Albert Cheng
e47d1d053e [svn-r11195] Purpose:
Feature.

Description:
Added HSYS_ERROR macro to retrieve and push system error message to
the error stack.
Added the related H5E_SYSERRSTR error code.

This allows system error messages be shown to users too.  Thus
give a better explanation of what the errors are.

Platforms tested:
h5committested.
2005-08-04 00:17:07 -05:00
Quincey Koziol
eb3e9ccd8a [svn-r9234] Purpose:
Code cleanup

Description:
    Tweak recent "forward compatibility" changes to the H5E* API (which allowed
for the old H5E API functions to remain unchanged) by allowing for the error
stack callback function (H5E_auto_t) to also remain unchanged from the 1.6
branch.  This required changing the H5E{get|set}_auto routines to have the
old style H5E_auto_t type (which didn't have a stack ID parameter) and the new
H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which
has a stack ID parameter).  This should make the H5E API changes as forwardly
compatible as possible.
    One side-affect of this change was that it was impossible to determine if
the current auto error callback was the old style (H5E_auto_t) or the new style
(H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was
adde to query this.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modi4)
    h5committest
2004-09-08 21:37:02 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
Description:  Restore 6 old error API functions back to the library to be backward
compatible with v1.6.  They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto.  These functions do not have error stack  as parameter.

Solution:  Internally, these functions use default error stack.

Platforms tested:  h5committest and fuss.

Misc. update: RELEASE.txt
2004-09-01 12:43:30 -05:00
John Mainzer
c49dd7fa36 [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve performance.
Description:

Replaced the old metadata cache with a cache with a modified LRU
replacement policy.  This should improve the hit rate.

Solution:

Since we want to flush cache entries in increasing address order, I
used the threaded binary B-tree code to store the cache entries.
There is a fair bit of overhead here, so we may want to consider
other options.

While the code is designed to allow the support of other replacement
algorithms, at present, only a modified version of LRU is supported.

The modified LRU algorithm requires that a user selectable portion
of the cache entries be clean.  The clean entries are evicted first
when writes are not permitted.  If the pool of clean entries is used
up, the cache grows beyond its user specified maximum size.  The
cache can also exceed its maximum size if the combined size of the
protected (or locked) entries exceeds the maximum size of the cache.


Platforms tested:

eirene (serial, parallel, fp), h5committested


Misc. update:
2004-07-02 14:35:04 -05:00
Quincey Koziol
54949c497a [svn-r7364] Purpose:
Code cleanup

Description:
    Ran lint over code & cleaned up warnings.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too small of changes to require h5committest
2003-08-14 08:44:59 -05:00
Quincey Koziol
d72cdcad4d [svn-r7355] Purpose:
Code cleanup, etc.

Description:
    Previously (in versions prior to 1.7), there were two locations to
modify when an error was added to the library.  Now, with the new error API,
there were four.

Solution:
    Created a single text file (src/H5err.txt) and a perl script (bin/make_err)
which uses the text file to automatically create header files that are included
in appropriate places in the library.
    This means that there is only one file (src/H5err.txt) which needs to be
modified when a new error code is added to the library.  The automatically
generated headers depend on this file and the makefiles will take care of
running the perl script to regenerate them when the text file changes, so no
user action is required when a new error is added.

Platforms tested:
    h5committested
2003-08-12 20:58:10 -05:00
Quincey Koziol
9a2f9731bd [svn-r7347] Purpose:
Code cleanup & bug fix

Description:
    Clean up code, adding error checking where appropriate

    Fix a number of routines which were clearing the default error stack
before checking some information about that stack.

    Set the version # of the library correctly when it is registered.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-08-12 08:29:41 -05:00
Quincey Koziol
7255ce7c07 [svn-r7298] Purpose:
Code cleanup & bug fix

Description:
    Refactor code to clean up

    Corrected several bugs, including problems with library termination and
        thread-safete, etc.

Platforms tested:
    h5committested
2003-08-08 13:52:00 -05:00
Raymond Lu
0d22a663df [svn-r7265] *** empty log message *** 2003-07-25 21:55:47 -05:00
Raymond Lu
4cc883a960 [svn-r7263] Purpose: bug fix for C++ caused by new error api
Description:  one variable was left out from checkin yesterday


Platforms tested: RH 8 with C++
2003-07-25 08:52:46 -05:00
Raymond Lu
23f22483b5 [svn-r7262] Purpose: Bug fix for C++ caused by new error API.
Platforms tested: h5committested
2003-07-24 21:24:55 -05:00
Raymond Lu
4b0fa0dbf0 [svn-r7256] Purpose: gradual checkin for error api
Platforms tested: RH 8(simple checkin)
2003-07-22 22:13:27 -05:00
Raymond Lu
032396d482 [svn-r7244] Purpose: gradual checkin for error API
Platforms tested: h5committest
2003-07-21 20:32:10 -05:00
Raymond Lu
8dadcdb101 [svn-r7241] Purpose: Gradual checkin for error API
Platforms tested: h5committest, RH 8

Misc. update:
2003-07-17 20:46:40 -05:00
Raymond Lu
840ce9f8b5 [svn-r7228] Purpose: Gradual checkin for error API
Platforms tested: RH 8
2003-07-15 17:17:09 -05:00
Raymond Lu
eb1eafd798 [svn-r7226] Purpose: Bug fix for error API.
Description:  gradual checkin


Platforms tested: platinum, baldric
2003-07-15 10:49:25 -05:00
Raymond Lu
8a98abf66f [svn-r7225] Purpose: error API gradual checkin
Platforms tested: RH 8; c and c++
2003-07-14 15:08:27 -05:00
Quincey Koziol
378701d632 [svn-r7214] Purpose:
Code cleanup/bug fix

Description:
    Clean up code a bit and make hid_t's for error class to use the same
scheme as predefined datatype hid_t's.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/C++
    h5committest
2003-07-12 12:02:33 -05:00
Raymond Lu
344eb1c83c [svn-r7212] Purpose: New error API design is being checked gradually.
Platforms tested: RH 8
2003-07-11 16:04:38 -05:00
Quincey Koziol
f2048a2379 [svn-r7184] Purpose:
Code cleanup

Description:
    Clean up various warnings from lint

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    no major changes requiring h5committest
2003-07-08 16:05:27 -05:00
Bill Wendling
b5d7fa02a9 [svn-r6546] Purpose:
Update

Description:
    Updated copyright statement in files which hadn't been updated yet.

Platforms tested:
    Linux (Only comment change)

Misc. update:
2003-03-31 13:30:57 -05:00
Quincey Koziol
f8da76cb9f [svn-r6266] Purpose:
Code cleanup/new feature.

Description:
    Split FUNC_LEAVE into API and non-API specific versions.  This allows a
    solution to compiling this branch with C++, as well as reducing the size
    of the binaries produced.

Platforms tested:
    FreeBSD 4.7 (sleipnir) w/serial, parallel (including MPE) & thread-safe
2003-01-10 15:26:02 -05:00
Albert Cheng
bd54330abf [svn-r6232] Purpose:
new feature
Description:
    Added MPICH/MPE instrumentation support.
    All source code are bracketed by the macro H5_HAVE_MPE.
    Use "--enable-mpe" to configure it in.
    Currently only worked in Eirene because the MPE library is
    not installed in all machines yet.
    The added file, H5MPprivate.h, holds HDF5/MPE related defintions.
Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}? Yep.
    Other platforms/configurations tested?
	--enable-mpe feature tested in Eirene.
2003-01-03 14:37:48 -05:00
Albert Cheng
3494014c72 [svn-r6229] Purpose:
Minor fix
Description:
    By mistake, the MPI_Error handling macros were inserted outside the
    overall macro bracket.  Moved them back inside the bracket.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}?  Yep.
2003-01-03 13:25:16 -05:00
Quincey Koziol
a028401448 [svn-r5986] Purpose:
Code cleanup

Description:
    Shift further toward removing the HRETURN* macros, in favor of the HGOTO*
    macros for error reporting.

    This change disables them in the header file and is the last change before
    removing them entirely after the 1.6 release.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 13:37:36 -05:00
MuQun Yang
e5b28ef37b [svn-r5931]
Purpose:
__DLL__ is a keyword in some platforms and __DLL__ is also defined as a macro for windows DLL applications.
That causes problems.
Description:
Solution:
Use H5_DLL*** to replace __DLL***__ at all header files.
Change the macro defination at H5api_adpt.h.
Platforms tested:
linux2.2.18smp, irix64, solaris 2.7 and windows 2000
2002-09-20 15:36:09 -05:00
Quincey Koziol
d8397a6f42 [svn-r5842] Purpose:
Code cleanup

Description:
    Change most (all?) HRETURN_ERROR macros to HGOTO_ERROR macros, along with
    HRETURN macros to HGOTO_DONE macros.  This unifies the error return path
    from functions and reduces the size of the library by up to 10% on some
    platforms.

    Additionally, I improved a lot of the error cleanup code in many routines.

Platforms tested:
    FreeBSD 4.6 (sleipnir) serial & parallel and IRIX64 6.5 (modi4) serial &
    parallel.
2002-08-08 11:52:55 -05:00
Quincey Koziol
ca912c389e [svn-r5467] Purpose:
Code cleanup.

Description:
    Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros
    equivalents in the SAF library and adapted them to our library.  I added
    an additional macro which is equivalent to FUNC_ENTER:
        FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but
            none of the library or interface initialization code.  This is to
            be used _only_ for static functions and those which explicitly
            cannot have the library or interface initialization code enabled
            (like the API termination routines, etc.).

    This allowed many more of the functions in the library [but not all yet :-(]
    to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs.

    It also reduced the size of the library and executables (by cutting out a
    bunch of code which was never executed), I'll e-mail the exact results when
    I've finished editing it.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-28 13:17:12 -05:00