diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2011-09-27 05:02:38 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2011-09-27 05:02:38 (GMT) |
commit | 4af3cd2b7a89b2eeed05d5ec0b0641ca7c2545bc (patch) | |
tree | 01f90619962c447280074bb8d10ae5c7b2b9acbc /fortran/src/H5Eff.f90 | |
parent | a07004c825e3a4e4b61269fd3e5f2b57092f073c (diff) | |
download | hdf5-4af3cd2b7a89b2eeed05d5ec0b0641ca7c2545bc.zip hdf5-4af3cd2b7a89b2eeed05d5ec0b0641ca7c2545bc.tar.gz hdf5-4af3cd2b7a89b2eeed05d5ec0b0641ca7c2545bc.tar.bz2 |
[svn-r21421] Merged the Fortran 2003 changes from the trunk into the 1.8 branch, used:
svn merge -r 20506:21414 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/fortran
Tested: jam (gnu, intel, pgi compilers)
Also merged effected non-Fortran files:
svn merge -r21247:r21248 https://svn.hdfgroup.uiuc.edu/hdf5/trunk/src/libhdf5.settings.in
Diffstat (limited to 'fortran/src/H5Eff.f90')
-rw-r--r-- | fortran/src/H5Eff.f90 | 284 |
1 files changed, 121 insertions, 163 deletions
diff --git a/fortran/src/H5Eff.f90 b/fortran/src/H5Eff.f90 index c33f9c1..2e137df 100644 --- a/fortran/src/H5Eff.f90 +++ b/fortran/src/H5Eff.f90 @@ -1,10 +1,13 @@ -!****h* fortran/src/H5Eff.f90 +!****h* ROBODoc/H5E ! ! NAME -! H5E +! MODULE H5E ! -! FUNCTION -! This file contains Fortran interfaces for H5E functions. +! FILE +! fortran/src/H5Eff.f90 +! +! PURPOSE +! This Module contains Fortran interfaces for H5E functions. ! ! COPYRIGHT ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -23,10 +26,10 @@ ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! ! NOTES -! *** IMPORTANT *** -! If you add a new H5E function you must add the function name to the -! Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory. -! This is needed for Windows based operating systems. +! *** IMPORTANT *** +! If you add a new H5E function to the module you must add the function name +! to the Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory. +! This is needed for Windows based operating systems. ! !***** @@ -42,76 +45,82 @@ MODULE H5E CONTAINS -!---------------------------------------------------------------------- -! Name: h5eclear_f -! -! Purpose: Clears the error stack for the current thread. -! -! Inputs: -! Outputs: -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! -! -! -! -! Programmer: Elena Pourmal -! August 12, 1999 +!****s* H5E/h5eclear_f ! -! Modifications: Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). April 6, 2001 -! -! Comment: -!---------------------------------------------------------------------- - - SUBROUTINE h5eclear_f(hdferr) +! NAME +! h5eclear_f +! +! PURPOSE +! Clears the error stack for the current thread. +! +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails +! OPTIONAL PARAMETERS +! estack_id - Error Stack id +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). April 6, 2001 +! +! Added optional error stack identifier in order to bring +! the function in line with the h5eclear2 routine. +! MSB, July 9, 2009 +! +! SOURCE + SUBROUTINE h5eclear_f(hdferr, estack_id) IMPLICIT NONE INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), OPTIONAL, INTENT(IN) :: estack_id +!***** + INTEGER(HID_T) :: estack_id_default -! INTEGER, EXTERNAL :: h5eclear_c -! MS FORTRAN needs explicit interface for C functions called here. -! INTERFACE - INTEGER FUNCTION h5eclear_c() + INTEGER FUNCTION h5eclear_c(estack_id_default) USE H5GLOBAL !DEC$IF DEFINED(HDF5F90_WINDOWS) !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ECLEAR_C'::h5eclear_c !DEC$ENDIF + INTEGER(HID_T) :: estack_id_default END FUNCTION h5eclear_c END INTERFACE - hdferr = h5eclear_c() + + estack_id_default = H5E_DEFAULT_F + IF(PRESENT(estack_id)) estack_id_default = estack_id + + hdferr = h5eclear_c(estack_id_default) END SUBROUTINE h5eclear_f -!---------------------------------------------------------------------- -! Name: h5h5eprint_f +!****s* H5E/h5eprint_f ! -! Purpose: Prints the error stack in a default manner. +! NAME +! h5eprint_f ! -! Inputs: -! Outputs: -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! name - name of the file that -! contains print output +! PURPOSE +! Prints the error stack in a default manner. ! -! Programmer: Elena Pourmal -! August 12, 1999 +! OUTPUTS +! hdferr - Returns 0 if successful and -1 if fails ! -! Modifications: Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). April 6, 2001 +! OPTIONAL PARAMETERS +! name - name of the file that contains print output +! AUTHOR +! Elena Pourmal +! August 12, 1999 ! -! Comment: -!---------------------------------------------------------------------- - +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). April 6, 2001 +! +! SOURCE SUBROUTINE h5eprint_f(hdferr, name) CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name ! File name INTEGER, INTENT(OUT) :: hdferr ! Error code +!***** INTEGER :: namelen INTERFACE @@ -141,40 +150,41 @@ CONTAINS hdferr = h5eprint_c2() ENDIF END SUBROUTINE h5eprint_f - -!---------------------------------------------------------------------- -! Name: h5eget_major_f -! -! Purpose: Returns a character string describing an error specified -! by a major error number. -! -! Inputs: -! error_no - mojor error number -! Outputs: -! name - character string describing the error -! namelen - number of characters in the name buffer -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! -! Programmer: Elena Pourmal -! August 12, 1999 -! -! Modifications: Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). April 6, 2001 -! -! Comment: -!---------------------------------------------------------------------- - +!****s* H5E/h5eget_major_f +! +! NAME +! h5eget_major_f +! +! PURPOSE +! Returns a character string describing an error specified +! by a major error number. +! +! INPUTS +! error_no - major error number +! +! OUTPUTS +! name - character string describing the error +! namelen - number of characters in the name buffer +! hdferr - Returns 0 if successful and -1 if fails +! +! AUTHOR +! Elena Pourmal +! August 12, 1999 +! +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). April 6, 2001 +! +! SOURCE SUBROUTINE h5eget_major_f(error_no, name, namelen, hdferr) - INTEGER, INTENT(IN) :: error_no ! Major error number - CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing - ! the error. - INTEGER(SIZE_T), INTENT(IN) :: namelen !Anticipated number of characters in name. - INTEGER, INTENT(OUT) :: hdferr ! Error code - + INTEGER, INTENT(IN) :: error_no ! Major error number + CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing + ! the error. + INTEGER(SIZE_T), INTENT(IN) :: namelen ! Anticipated number of characters + ! in name. + INTEGER, INTENT(OUT) :: hdferr ! Error code +!***** INTERFACE INTEGER FUNCTION h5eget_major_c(error_no, name, namelen) USE H5GLOBAL @@ -190,41 +200,38 @@ CONTAINS hdferr = h5eget_major_c(error_no, name, namelen) END SUBROUTINE h5eget_major_f - -!---------------------------------------------------------------------- -! Name: h5eget_minor_f -! -! Purpose: Returns a character string describing an error specified -! by a minor error number. +!****s* H5E/h5eget_minor_f ! -! Inputs: -! error_no - minor error number -! Outputs: -! name - character string describing the error -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: +! NAME +! h5eget_minor_f ! +! PURPOSE +! Returns a character string describing an error specified +! by a minor error number. ! +! INPUTS +! error_no - minor error number ! +! OUTPUTS +! name - character string describing the error +! hdferr - Returns 0 if successful and -1 if fails ! -! Programmer: Elena Pourmal -! August 12, 1999 +! AUTHOR +! Elena Pourmal +! August 12, 1999 ! -! Modifications: Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). April 6, 2001 +! HISTORY +! Explicit Fortran interfaces were added for +! called C functions (it is needed for Windows +! port). April 6, 2001 ! -! Comment: -!---------------------------------------------------------------------- - +! SOURCE SUBROUTINE h5eget_minor_f(error_no, name, hdferr) - INTEGER, INTENT(IN) :: error_no !Major error number + INTEGER, INTENT(IN) :: error_no ! Major error number CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing ! the error INTEGER, INTENT(OUT) :: hdferr ! Error code - +!***** INTERFACE INTEGER FUNCTION h5eget_minor_c(error_no, name) USE H5GLOBAL @@ -239,55 +246,6 @@ CONTAINS hdferr = h5eget_minor_c(error_no, name) END SUBROUTINE h5eget_minor_f -!---------------------------------------------------------------------- -! Name: h5eset_auto_f -! -! Purpose: Turns automatic error printing on or off -! -! Inputs: -! printflag - flag to turn automatic error -! - Possible values are: -! - 1 (on), 0 (off) -! Outputs: -! hdferr: - error code -! Success: 0 -! Failure: -1 -! Optional parameters: -! -! -! -! -! Programmer: Elena Pourmal -! August 12, 1999 -! -! Modifications: Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). April 6, 2001 -! -! Comment: -!---------------------------------------------------------------------- - - - SUBROUTINE h5eset_auto_f(printflag, hdferr) - INTEGER, INTENT(IN) :: printflag !flag to turn automatic error - !printing on or off - !possible values are: - !printon (1) - !printoff(0) - INTEGER, INTENT(OUT) :: hdferr ! Error code - - INTERFACE - INTEGER FUNCTION h5eset_auto_c(printflag) - USE H5GLOBAL - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ESET_AUTO_C'::h5eset_auto_c - !DEC$ENDIF - INTEGER :: printflag - END FUNCTION h5eset_auto_c - END INTERFACE - - hdferr = h5eset_auto_c(printflag) - END SUBROUTINE h5eset_auto_f END MODULE H5E |