From 13980cd69a7304ffcc9e7c4fbd67f846743f141b Mon Sep 17 00:00:00 2001 From: Scot Breitenfeld Date: Mon, 30 Mar 2015 13:17:45 -0500 Subject: [svn-r26657] Fix for HDFFV09202. HDFFV-9202 subroutine VERIFY() fails when checking 8 byte integers in fortran tests Tested: jam( --enable-fortran2003, gnu) koala (--enable-fortran2003, intel) --- fortran/test/tH5P_F03.f90 | 11 +++++------ fortran/test/tf.f90 | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/fortran/test/tH5P_F03.f90 b/fortran/test/tH5P_F03.f90 index 34fd0ad..56f9679 100644 --- a/fortran/test/tH5P_F03.f90 +++ b/fortran/test/tH5P_F03.f90 @@ -360,14 +360,13 @@ SUBROUTINE test_genprop_class_callback(total_error) WRITE(*,*) 'Class names do not match! name=',CLASS1_NAME_BUF, 'CLASS1_NAME=',CLASS1_NAME total_error = total_error + 1 ENDIF - ! Close class CALL h5pclose_class_f(cid2, error) CALL check("h5pclose_class_f", error, total_error) ! Verify that the creation callback occurred CALL VERIFY("h5pcreate_f", crt_cb_struct%count, 1, total_error) - CALL VERIFY("h5pcreate_f", INT(crt_cb_struct%id), INT(lid1), total_error) + CALL VERIFY_INTEGER_HID_T("h5pcreate_f", crt_cb_struct%id, lid1, total_error) ! Check the number of properties in list CALL h5pget_nprops_f(lid1,nprops, error) @@ -380,7 +379,7 @@ SUBROUTINE test_genprop_class_callback(total_error) ! Verify that the creation callback occurred CALL VERIFY("h5pcreate_f", crt_cb_struct%count, 2, total_error) - CALL VERIFY("h5pcreate_f", INT(crt_cb_struct%id), INT(lid2), total_error) + CALL VERIFY_INTEGER_HID_T("h5pcreate_f", crt_cb_struct%id, lid2, total_error) ! Check the number of properties in list CALL h5pget_nprops_f(lid2,nprops, error) @@ -393,15 +392,15 @@ SUBROUTINE test_genprop_class_callback(total_error) ! Verify that the close callback occurred CALL VERIFY("h5pcreate_f", cls_cb_struct%count, 1, total_error) - CALL VERIFY("h5pcreate_f", INT(cls_cb_struct%id), INT(lid1), total_error) + CALL VERIFY_INTEGER_HID_T("h5pcreate_f", cls_cb_struct%id, lid1, total_error) ! Close second list CALL h5pclose_f(lid2, error); CALL check("h5pclose_f", error, total_error) - ! Verify that the close callback occurred + ! Verify that the close callback occurred CALL VERIFY("h5pcreate_f", cls_cb_struct%count, 2, total_error) - CALL VERIFY("h5pcreate_f", INT(cls_cb_struct%id), INT(lid2), total_error) + CALL verify_INTEGER_HID_T("h5pcreate_f", cls_cb_struct%id, lid2, total_error) ! Close class CALL h5pclose_class_f(cid1, error) diff --git a/fortran/test/tf.f90 b/fortran/test/tf.f90 index 6d5911f..450daf2 100644 --- a/fortran/test/tf.f90 +++ b/fortran/test/tf.f90 @@ -134,6 +134,22 @@ CONTAINS !This definition is needed for Windows DLLs !DEC$if defined(BUILD_HDF5_TEST_DLL) +!DEC$attributes dllexport :: verify_INTEGER_HID_T +!DEC$endif + SUBROUTINE verify_INTEGER_HID_T(string,value,correct_value,total_error) + USE HDF5 + CHARACTER(LEN=*) :: string + INTEGER(HID_T) :: value, correct_value + INTEGER :: total_error + IF (value .NE. correct_value) THEN + total_error=total_error+1 + WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string + ENDIF + RETURN + END SUBROUTINE verify_INTEGER_HID_T + +!This definition is needed for Windows DLLs +!DEC$if defined(BUILD_HDF5_TEST_DLL) !DEC$attributes dllexport :: verify_Fortran_INTEGER_4 !DEC$endif SUBROUTINE verify_Fortran_INTEGER_4(string,value,correct_value,total_error) -- cgit v0.12