Blob Blame History Raw
diff -up OpenMolcas-v18.0.o180813-1752/src/hdf5_util/mh5_fapi.f.int8 OpenMolcas-v18.0.o180813-1752/src/hdf5_util/mh5_fapi.f
--- OpenMolcas-v18.0.o180813-1752/src/hdf5_util/mh5_fapi.f.int8	2018-08-12 00:19:14.000000000 +0300
+++ OpenMolcas-v18.0.o180813-1752/src/hdf5_util/mh5_fapi.f	2018-08-25 14:52:04.230181278 +0300
@@ -16,7 +16,7 @@
       use iso_c_binding
       implicit none
       character(len=*) :: filename
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       interface
         function mh5c_create_file(filename) result(lu)
      &   bind(C, name='mh5c_create_file')
@@ -26,7 +26,7 @@
         character(C_CHAR) :: filename(*)
         end function
       end interface
-      integer :: lrealname
+      integer(MOLCAS_C_INT) :: lrealname
       character(len=4096) :: realname
       call prgmtranslate(filename, realname, lrealname)
       realname(lrealname+1:lrealname+1)=C_NULL_CHAR
@@ -37,7 +37,7 @@
       use iso_c_binding
       implicit none
       character(len=*) :: filename
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       interface
         function mh5c_open_rw(filename) result(lu)
      &   bind(C, name='mh5c_open_file_rw')
@@ -47,7 +47,7 @@
         character(C_CHAR) :: filename(*)
         end function
       end interface
-      integer :: lrealname
+      integer(MOLCAS_C_INT) :: lrealname
       character(len=4096) :: realname
       call prgmtranslate(filename, realname, lrealname)
       realname(lrealname+1:lrealname+1)=C_NULL_CHAR
@@ -58,7 +58,7 @@
       use iso_c_binding
       implicit none
       character(len=*) :: filename
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       interface
         function mh5c_open_r(filename) result(lu)
      &   bind(C, name='mh5c_open_file_r')
@@ -68,7 +68,7 @@
         character(C_CHAR) :: filename(*)
         end function
       end interface
-      integer :: lrealname
+      integer(MOLCAS_C_INT) :: lrealname
       character(len=4096) :: realname
       call prgmtranslate(filename, realname, lrealname)
       realname(lrealname+1:lrealname+1)=C_NULL_CHAR
@@ -78,7 +78,7 @@
       subroutine mh5_close_file (lu)
       use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       interface
         function mh5c_close_file(lu) result(ierr)
      &   bind(C, name='mh5c_close_file')
@@ -88,7 +88,7 @@
         integer(MOLCAS_C_INT) :: ierr
         end function
       end interface
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       ierr = mh5c_close_file(lu)
       end subroutine
 
@@ -106,8 +106,8 @@
         integer(MOLCAS_C_INT) :: rc
         end function
       end interface
-      integer :: rc
-      integer :: lrealname
+      integer(MOLCAS_C_INT) :: rc
+      integer(MOLCAS_C_INT) :: lrealname
       character(len=4096) :: realname
       logical :: exists
       call prgmtranslate(filename, realname, lrealname)
@@ -134,7 +134,7 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: id
+      integer(MOLCAS_C_INT) :: id
       character(len=*) :: name
       interface
         function mh5c_exists_dset(id, name) result (rc)
@@ -146,7 +146,7 @@
         integer(MOLCAS_C_INT) :: rc
         end function
       end interface
-      integer :: rc
+      integer(MOLCAS_C_INT) :: rc
       call f2c_upcase(name,mh5_lbl)
       rc = mh5c_exists_dset(id, mh5_lbl)
       if      (rc > 0) then
@@ -163,7 +163,7 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: id
+      integer(MOLCAS_C_INT) :: id
       character(len=*) :: name
       interface
         function mh5c_exists_attr(id, name) result (rc)
@@ -175,7 +175,7 @@
         integer(MOLCAS_C_INT) :: rc
         end function
       end interface
-      integer :: rc
+      integer(MOLCAS_C_INT) :: rc
       call f2c_upcase(name,mh5_lbl)
       rc = mh5c_exists_attr(id, mh5_lbl)
       if      (rc > 0) then
@@ -193,9 +193,9 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: dsetname
-      integer :: dsetid
+      integer(MOLCAS_C_INT) :: dsetid
       interface
         function mh5c_open_dset(lu, dsetname) result(dsetid)
      &   bind(C, name='mh5c_open_dset')
@@ -214,7 +214,7 @@
       subroutine mh5_close_dset (dsetid)
       use iso_c_binding
       implicit none
-      integer :: dsetid
+      integer(MOLCAS_C_INT) :: dsetid
       interface
         function mh5c_close_dset(dsetid) result(ierr)
      &   bind(C, name='mh5c_close_dset')
@@ -232,9 +232,9 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: attrname
-      integer :: attrid
+      integer(MOLCAS_C_INT) :: attrid
       interface
         function mh5c_open_attr(lu, attrname) result(attrid)
      &   bind(C, name='mh5c_open_attr')
@@ -253,7 +253,7 @@
       subroutine mh5_close_attr (attrid)
       use iso_c_binding
       implicit none
-      integer :: attrid
+      integer(MOLCAS_C_INT) :: attrid
       interface
         function mh5c_close_attr(attrid) result(ierr)
      &   bind(C, name='mh5c_close_attr')
@@ -275,9 +275,9 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_attr_scalar_int(lu, name) result (dset_id)
      &   bind(C, name='mh5c_create_attr_scalar_int')
@@ -297,9 +297,9 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_attr_scalar_real(lu, name) result (dset_id)
      &   bind(C, name='mh5c_create_attr_scalar_real')
@@ -320,10 +320,10 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: size
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: size
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_attr_scalar_str(lu, name, size)
      &          result (dset_id)
@@ -344,9 +344,9 @@
       subroutine mh5_put_attr_scalar_int (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
-      integer :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_attr_scalar_int(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_put_attr_scalar_int')
@@ -364,9 +364,9 @@
       subroutine mh5_put_attr_scalar_real (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       real*8 :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_attr_scalar_real(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_put_attr_scalar_real')
@@ -384,9 +384,9 @@
       subroutine mh5_put_attr_scalar_str (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       character(len=*) :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_attr_scalar_str(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_put_attr_scalar_str')
@@ -405,9 +405,9 @@
       subroutine mh5_get_attr_scalar_int (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
-      integer :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_attr_scalar_int(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_get_attr_scalar_int')
@@ -425,9 +425,9 @@
       subroutine mh5_get_attr_scalar_real (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       real*8 :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_attr_scalar_real(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_get_attr_scalar_real')
@@ -445,9 +445,9 @@
       subroutine mh5_get_attr_scalar_str (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       character(len=*) :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_attr_scalar_str(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_get_attr_scalar_str')
@@ -466,11 +466,11 @@
      &        result(attr_id)
       use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
-      integer :: attr_id
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
+      integer(MOLCAS_C_INT) :: attr_id
       interface
         function mh5c_create_attr_array_int(lu, name, rank, dims)
      &   result(ierr) bind(C, name='mh5c_create_attr_array_int')
@@ -493,11 +493,11 @@
      &        result(attr_id)
       use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
-      integer :: attr_id
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
+      integer(MOLCAS_C_INT) :: attr_id
       interface
         function mh5c_create_attr_array_real(lu, name, rank, dims)
      &   result(ierr) bind(C, name='mh5c_create_attr_array_real')
@@ -520,12 +520,12 @@
      &        result(attr_id)
       use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
-      integer :: size
-      integer :: attr_id
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
+      integer(MOLCAS_C_INT) :: size
+      integer(MOLCAS_C_INT) :: attr_id
       interface
         function mh5c_create_attr_array_str(lu, name, rank, dims, size)
      &   result(ierr) bind(C, name='mh5c_create_attr_array_str')
@@ -550,9 +550,9 @@
       subroutine mh5_put_attr_array_int (attr_id, buffer)
       use iso_c_binding
       implicit none
-      integer :: attr_id
-      integer :: buffer(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: buffer(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_attr_array_int(id, buffer)
      &   result(ierr) bind(C, name='mh5c_put_attr_array_int')
@@ -571,9 +571,9 @@
       subroutine mh5_put_attr_array_real (attr_id, buffer)
       use iso_c_binding
       implicit none
-      integer :: attr_id
+      integer(MOLCAS_C_INT) :: attr_id
       real*8 :: buffer(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_attr_array_real(id, buffer)
      &   result(ierr) bind(C, name='mh5c_put_attr_array_real')
@@ -592,9 +592,9 @@
       subroutine mh5_put_attr_array_str (attr_id, buffer)
       use iso_c_binding
       implicit none
-      integer :: attr_id
+      integer(MOLCAS_C_INT) :: attr_id
       character :: buffer(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_attr_array_str(id, buffer)
      &   result(ierr) bind(C, name='mh5c_put_attr_array_str')
@@ -614,9 +614,9 @@
       subroutine mh5_get_attr_array_int (attr_id, buffer)
       use iso_c_binding
       implicit none
-      integer :: attr_id
-      integer :: buffer(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: buffer(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_attr_array_int(id, buffer)
      &   result(ierr) bind(C, name='mh5c_get_attr_array_int')
@@ -635,9 +635,9 @@
       subroutine mh5_get_attr_array_real (attr_id, buffer)
       use iso_c_binding
       implicit none
-      integer :: attr_id
+      integer(MOLCAS_C_INT) :: attr_id
       real*8 :: buffer(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_attr_array_real(id, buffer)
      &   result(ierr) bind(C, name='mh5c_get_attr_array_real')
@@ -656,9 +656,9 @@
       subroutine mh5_get_attr_array_str (attr_id, buffer)
       use iso_c_binding
       implicit none
-      integer :: attr_id
+      integer(MOLCAS_C_INT) :: attr_id
       character :: buffer(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_attr_array_str(id, buffer)
      &   result(ierr) bind(C, name='mh5c_get_attr_array_str')
@@ -678,64 +678,69 @@
 
 * init: create, put, close
       subroutine mh5_init_attr_scalar_int (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: value
-      integer :: attr_id
-      integer :: mh5_create_attr_scalar_int
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_create_attr_scalar_int
       attr_id = mh5_create_attr_scalar_int(lu, name)
       call mh5_put_attr_scalar_int(attr_id, value)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_init_attr_scalar_real (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       real*8 :: value
-      integer :: attr_id
-      integer :: mh5_create_attr_scalar_real
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_create_attr_scalar_real
       attr_id = mh5_create_attr_scalar_real(lu, name)
       call mh5_put_attr_scalar_real(attr_id, value)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_init_attr_scalar_str (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       character(len=*) :: value
-      integer :: attr_id
-      integer :: mh5_create_attr_scalar_str
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_create_attr_scalar_str
       attr_id = mh5_create_attr_scalar_str(lu, name, len(value))
       call mh5_put_attr_scalar_str(attr_id, value)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_init_attr_array_int (lu, name, rank, dims, buffer)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
-      integer :: buffer(*)
-      integer :: attr_id
-      integer :: mh5_create_attr_array_int
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
+      integer(MOLCAS_C_INT) :: buffer(*)
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_create_attr_array_int
       attr_id = mh5_create_attr_array_int(lu, name, rank, dims)
       call mh5_put_attr_array_int(attr_id, buffer)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_init_attr_array_real(lu, name, rank, dims, buffer)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
       real*8 :: buffer(*)
-      integer :: attr_id
-      integer :: mh5_create_attr_array_real
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_create_attr_array_real
       attr_id = mh5_create_attr_array_real(lu, name, rank, dims)
       call mh5_put_attr_array_real(attr_id, buffer)
       call mh5_close_attr(attr_id)
@@ -743,15 +748,16 @@
 
       subroutine mh5_init_attr_array_str (
      &        lu, name, rank, dims, buffer, size)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
       character :: buffer(*)
-      integer :: size
-      integer :: attr_id
-      integer :: mh5_create_attr_array_str
+      integer(MOLCAS_C_INT) :: size
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_create_attr_array_str
       attr_id = mh5_create_attr_array_str(lu, name, rank, dims, size)
       call mh5_put_attr_array_str(attr_id, buffer)
       call mh5_close_attr(attr_id)
@@ -759,72 +765,78 @@
 
 * fetch: open, get, close
       subroutine mh5_fetch_attr_scalar_int (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: value
-      integer :: attr_id
-      integer :: mh5_open_attr
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_open_attr
       attr_id = mh5_open_attr(lu, name)
       call mh5_get_attr_scalar_int(attr_id, value)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_fetch_attr_scalar_real (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       real*8 :: value
-      integer :: attr_id
-      integer :: mh5_open_attr
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_open_attr
       attr_id = mh5_open_attr(lu, name)
       call mh5_get_attr_scalar_real(attr_id, value)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_fetch_attr_scalar_str (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       character(len=*) :: value
-      integer :: attr_id
-      integer :: mh5_open_attr
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_open_attr
       attr_id = mh5_open_attr(lu, name)
       call mh5_get_attr_scalar_str(attr_id, value)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_fetch_attr_array_int (lu, name, buffer)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: buffer(*)
-      integer :: attr_id
-      integer :: mh5_open_attr
+      integer(MOLCAS_C_INT) :: buffer(*)
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_open_attr
       attr_id = mh5_open_attr(lu, name)
       call mh5_get_attr_array_int(attr_id, buffer)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_fetch_attr_array_real(lu, name, buffer)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       real*8 :: buffer(*)
-      integer :: attr_id
-      integer :: mh5_open_attr
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_open_attr
       attr_id = mh5_open_attr(lu, name)
       call mh5_get_attr_array_real(attr_id, buffer)
       call mh5_close_attr(attr_id)
       end subroutine
 
       subroutine mh5_fetch_attr_array_str (lu, name, buffer)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       character :: buffer(*)
-      integer :: attr_id
-      integer :: mh5_open_attr
+      integer(MOLCAS_C_INT) :: attr_id
+      integer(MOLCAS_C_INT) :: mh5_open_attr
       attr_id = mh5_open_attr(lu, name)
       call mh5_get_attr_array_str(attr_id, buffer)
       call mh5_close_attr(attr_id)
@@ -838,9 +850,9 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_dset_scalar_int(lu, name) result (dset_id)
      &   bind(C, name='mh5c_create_dset_scalar_int')
@@ -860,9 +872,9 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_dset_scalar_real(lu, name) result (dset_id)
      &   bind(C, name='mh5c_create_dset_scalar_real')
@@ -883,10 +895,10 @@
       use iso_c_binding
       implicit none
       character(MH5_MAX_LBL_LEN) :: mh5_lbl
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: size
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: size
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_dset_scalar_str(lu, name, size)
      &          result (dset_id)
@@ -907,9 +919,9 @@
       subroutine mh5_put_dset_scalar_int (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
-      integer :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_dset_scalar_int(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_put_dset_scalar_int')
@@ -927,9 +939,9 @@
       subroutine mh5_put_dset_scalar_real (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       real*8 :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_dset_scalar_real(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_put_dset_scalar_real')
@@ -947,9 +959,9 @@
       subroutine mh5_put_dset_scalar_str (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       character(len=*) :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_dset_scalar_str(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_put_dset_scalar_str')
@@ -968,9 +980,9 @@
       subroutine mh5_get_dset_scalar_int (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
-      integer :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_dset_scalar_int(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_get_dset_scalar_int')
@@ -988,9 +1000,9 @@
       subroutine mh5_get_dset_scalar_real (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       real*8 :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_dset_scalar_real(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_get_dset_scalar_real')
@@ -1008,9 +1020,9 @@
       subroutine mh5_get_dset_scalar_str (dset_id, value)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       character(len=*) :: value
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_dset_scalar_str(dset_id, value) result (ierr)
      &   bind(C, name='mh5c_get_dset_scalar_str')
@@ -1029,12 +1041,12 @@
      &        result(dset_id)
       use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
       logical, optional :: dyn
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_dset_array_int(lu, name, rank, dims)
      &   result(ierr) bind(C, name='mh5c_create_dset_array_int')
@@ -1076,12 +1088,12 @@
      &        result(dset_id)
       use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
       logical, optional :: dyn
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_dset_array_real(lu, name, rank, dims)
      &   result(ierr) bind(C, name='mh5c_create_dset_array_real')
@@ -1124,13 +1136,13 @@
      &        result(dset_id)
       use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
-      integer :: size
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
+      integer(MOLCAS_C_INT) :: size
       logical, optional :: dyn
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5c_create_dset_array_str(lu, name, rank, dims, size)
      &   result(ierr) bind(C, name='mh5c_create_dset_array_str')
@@ -1175,10 +1187,10 @@
       subroutine mh5_put_dset_array_int (dset_id, buffer, exts, offs)
       use iso_c_binding
       implicit none
-      integer :: dset_id
-      integer :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: buffer(*)
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_dset_array_int(id, exts, offs, buffer)
      &   result(ierr) bind(C, name='mh5c_put_dset_array_int')
@@ -1212,10 +1224,10 @@
       subroutine mh5_put_dset_array_real (dset_id, buffer, exts, offs)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       real*8 :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_dset_array_real(id, exts, offs, buffer)
      &   result(ierr) bind(C, name='mh5c_put_dset_array_real')
@@ -1249,10 +1261,10 @@
       subroutine mh5_put_dset_array_str (dset_id, buffer, exts, offs)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       character :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_put_dset_array_str(id, exts, offs, buffer)
      &   result(ierr) bind(C, name='mh5c_put_dset_array_str')
@@ -1287,10 +1299,10 @@
       subroutine mh5_get_dset_array_int (dset_id, buffer, exts, offs)
       use iso_c_binding
       implicit none
-      integer :: dset_id
-      integer :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: buffer(*)
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_dset_array_int(id, exts, offs, buffer)
      &   result(ierr) bind(C, name='mh5c_get_dset_array_int')
@@ -1324,10 +1336,10 @@
       subroutine mh5_get_dset_array_real (dset_id, buffer, exts, offs)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       real*8 :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_dset_array_real(id, exts, offs, buffer)
      &   result(ierr) bind(C, name='mh5c_get_dset_array_real')
@@ -1361,10 +1373,10 @@
       subroutine mh5_get_dset_array_str (dset_id, buffer, exts, offs)
       use iso_c_binding
       implicit none
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: dset_id
       character :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_get_dset_array_str(id, exts, offs, buffer)
      &   result(ierr) bind(C, name='mh5c_get_dset_array_str')
@@ -1396,10 +1408,11 @@
       end subroutine
 
       subroutine mh5_extend_dset_array(dset_id, dims)
+      use iso_c_binding
       implicit none
-      integer :: dset_id
-      integer :: dims(*)
-      integer :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: dims(*)
+      integer(MOLCAS_C_INT) :: ierr
       interface
         function mh5c_extend_dset_array(id, dims)
      &   result(ierr) bind(C, name='mh5c_extend_dset_array')
@@ -1421,36 +1434,39 @@
 
 * init: create, put, close
       subroutine mh5_init_dset_scalar_int (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: value
-      integer :: dset_id
-      integer :: mh5_create_dset_scalar_int
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_create_dset_scalar_int
       dset_id = mh5_create_dset_scalar_int(lu, name)
       call mh5_put_dset_scalar_int(dset_id, value)
       call mh5_close_dset(dset_id)
       end subroutine
 
       subroutine mh5_init_dset_scalar_real (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       real*8 :: value
-      integer :: dset_id
-      integer :: mh5_create_dset_scalar_real
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_create_dset_scalar_real
       dset_id = mh5_create_dset_scalar_real(lu, name)
       call mh5_put_dset_scalar_real(dset_id, value)
       call mh5_close_dset(dset_id)
       end subroutine
 
       subroutine mh5_init_dset_scalar_str (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       character(len=*) :: value
-      integer :: dset_id
-      integer :: mh5_create_dset_scalar_str
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_create_dset_scalar_str
       dset_id = mh5_create_dset_scalar_str(lu, name, len(value))
       call mh5_put_dset_scalar_str(dset_id, value)
       call mh5_close_dset(dset_id)
@@ -1458,26 +1474,27 @@
 
       subroutine mh5_init_dset_array_int (lu, name, rank, dims, buffer,
      &                                    dyn)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
-      integer :: buffer(*)
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
+      integer(MOLCAS_C_INT) :: buffer(*)
       logical, optional :: dyn
-      integer :: ierr
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5_create_dset_array_int (lu, name, rank, dims, dyn)
      &   result(dset_id)
         use iso_c_binding
         implicit none
-        integer :: lu
+        integer(MOLCAS_C_INT) :: lu
         character(len=*) :: name
-        integer :: rank
-        integer :: dims(*)
+        integer(MOLCAS_C_INT) :: rank
+        integer(MOLCAS_C_INT) :: dims(*)
         logical, optional :: dyn
-        integer :: dset_id
+        integer(MOLCAS_C_INT) :: dset_id
         end function
         function mh5c_put_dset_array_int_full(id, buffer)
      &   result(ierr) bind(C, name='mh5c_put_dset_array_int_full')
@@ -1498,26 +1515,27 @@
 
       subroutine mh5_init_dset_array_real(lu, name, rank, dims, buffer,
      &                                    dyn)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
       real*8 :: buffer(*)
       logical, optional :: dyn
-      integer :: ierr
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5_create_dset_array_real (lu, name, rank, dims, dyn)
      &   result(dset_id)
         use iso_c_binding
         implicit none
-        integer :: lu
+        integer(MOLCAS_C_INT) :: lu
         character(len=*) :: name
-        integer :: rank
-        integer :: dims(*)
+        integer(MOLCAS_C_INT) :: rank
+        integer(MOLCAS_C_INT) :: dims(*)
         logical, optional :: dyn
-        integer :: dset_id
+        integer(MOLCAS_C_INT) :: dset_id
         end function
         function mh5c_put_dset_array_real_full(id, buffer)
      &   result(ierr) bind(C, name='mh5c_put_dset_array_real_full')
@@ -1538,29 +1556,30 @@
 
       subroutine mh5_init_dset_array_str(
      &        lu, name, rank, dims, buffer, size, dyn)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: rank
-      integer :: dims(*)
+      integer(MOLCAS_C_INT) :: rank
+      integer(MOLCAS_C_INT) :: dims(*)
       character :: buffer(*)
-      integer :: size
+      integer(MOLCAS_C_INT) :: size
       logical, optional :: dyn
-      integer :: ierr
-      integer :: dset_id
+      integer(MOLCAS_C_INT) :: ierr
+      integer(MOLCAS_C_INT) :: dset_id
       interface
         function mh5_create_dset_array_str (lu, name, rank, dims, size,
      &                                      dyn)
      &   result(dset_id)
         use iso_c_binding
         implicit none
-        integer :: lu
+        integer(MOLCAS_C_INT) :: lu
         character(len=*) :: name
-        integer :: rank
-        integer :: dims(*)
-        integer :: size
+        integer(MOLCAS_C_INT) :: rank
+        integer(MOLCAS_C_INT) :: dims(*)
+        integer(MOLCAS_C_INT) :: size
         logical, optional :: dyn
-        integer :: dset_id
+        integer(MOLCAS_C_INT) :: dset_id
         end function
         function mh5c_put_dset_array_str_full(id, buffer)
      &   result(ierr) bind(C, name='mh5c_put_dset_array_str_full')
@@ -1582,55 +1601,60 @@
 
 * fetch: open, get, close
       subroutine mh5_fetch_dset_scalar_int (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: value
-      integer :: dset_id
-      integer :: mh5_open_dset
+      integer(MOLCAS_C_INT) :: value
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_open_dset
       dset_id = mh5_open_dset(lu, name)
       call mh5_get_dset_scalar_int(dset_id, value)
       call mh5_close_dset(dset_id)
       end subroutine
 
       subroutine mh5_fetch_dset_scalar_real (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       real*8 :: value
-      integer :: dset_id
-      integer :: mh5_open_dset
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_open_dset
       dset_id = mh5_open_dset(lu, name)
       call mh5_get_dset_scalar_real(dset_id, value)
       call mh5_close_dset(dset_id)
       end subroutine
 
       subroutine mh5_fetch_dset_scalar_str (lu, name, value)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       character(len=*) :: value
-      integer :: dset_id
-      integer :: mh5_open_dset
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_open_dset
       dset_id = mh5_open_dset(lu, name)
       call mh5_get_dset_scalar_str(dset_id, value)
       call mh5_close_dset(dset_id)
       end subroutine
 
       subroutine mh5_fetch_dset_array_int (lu, name, buffer, exts, offs)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
-      integer :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: dset_id
-      integer :: mh5_open_dset
+      integer(MOLCAS_C_INT) :: buffer(*)
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_open_dset
       interface
         subroutine mh5_get_dset_array_int (dset_id, buffer, exts, offs)
+        use iso_c_binding
         implicit none
-        integer :: dset_id
-        integer :: buffer(*)
-        integer, optional :: exts(*), offs(*)
+        integer(MOLCAS_C_INT) :: dset_id
+        integer(MOLCAS_C_INT) :: buffer(*)
+        integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
         end subroutine
       end interface
       dset_id = mh5_open_dset(lu, name)
@@ -1639,19 +1663,21 @@
       end subroutine
 
       subroutine mh5_fetch_dset_array_real(lu, name, buffer, exts, offs)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       real*8 :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: dset_id
-      integer :: mh5_open_dset
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_open_dset
       interface
         subroutine mh5_get_dset_array_real (dset_id, buffer, exts, offs)
+        use iso_c_binding
         implicit none
-        integer :: dset_id
+        integer(MOLCAS_C_INT) :: dset_id
         real*8 :: buffer(*)
-        integer, optional :: exts(*), offs(*)
+        integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
         end subroutine
       end interface
       dset_id = mh5_open_dset(lu, name)
@@ -1660,19 +1686,21 @@
       end subroutine
 
       subroutine mh5_fetch_dset_array_str(lu, name, buffer, exts, offs)
+      use iso_c_binding
       implicit none
-      integer :: lu
+      integer(MOLCAS_C_INT) :: lu
       character(len=*) :: name
       character :: buffer(*)
-      integer, optional :: exts(*), offs(*)
-      integer :: dset_id
-      integer :: mh5_open_dset
+      integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
+      integer(MOLCAS_C_INT) :: dset_id
+      integer(MOLCAS_C_INT) :: mh5_open_dset
       interface
         subroutine mh5_get_dset_array_str (dset_id, buffer, exts, offs)
+        use iso_c_binding
         implicit none
-        integer :: dset_id
+        integer(MOLCAS_C_INT) :: dset_id
         character :: buffer(*)
-        integer, optional :: exts(*), offs(*)
+        integer(MOLCAS_C_INT), optional :: exts(*), offs(*)
         end subroutine
       end interface
       dset_id = mh5_open_dset(lu, name)
diff -up OpenMolcas-v18.0.o180813-1752/src/numerical_gradient/newdir.f.int8 OpenMolcas-v18.0.o180813-1752/src/numerical_gradient/newdir.f
--- OpenMolcas-v18.0.o180813-1752/src/numerical_gradient/newdir.f.int8	2018-08-12 00:19:14.000000000 +0300
+++ OpenMolcas-v18.0.o180813-1752/src/numerical_gradient/newdir.f	2018-08-25 15:27:28.897630249 +0300
@@ -56,7 +56,7 @@
         Character(Kind=c_char,Len=*) :: path
         Type(c_ptr) :: ret
         Integer :: i
-        ret = c_getcwd(path, Len(path))
+        ret = c_getcwd(path, Int(Len(path),MOLCAS_C_INT))
         Do i=Len(path),1,-1
           If (path(i:i).eq.c_null_char) path(i:i)=' '
         End Do
@@ -66,8 +66,8 @@
         Use iso_c_binding
         Implicit None
         Character(*) :: path
-        Integer, Optional, Intent(Out) :: err
-        Integer :: loc_err
+        Integer(Kind=MOLCAS_C_INT), Optional, Intent(Out) :: err
+        Integer(Kind=MOLCAS_C_INT) :: loc_err
         loc_err = c_chdir(Trim(path)//c_null_char)
         If (Present(err)) err = loc_err
       End Subroutine f_chdir
@@ -76,9 +76,10 @@
         Use iso_c_binding
         Implicit None
         Character(*) :: path
-        Integer, Optional, Intent(Out) :: err
-        Integer :: loc_err
-        loc_err = c_mkdir(Trim(path)//c_null_char, Int(o'772'))
+        Integer(Kind=MOLCAS_C_INT), Optional, Intent(Out) :: err
+        Integer(Kind=MOLCAS_C_INT) :: loc_err
+        loc_err = c_mkdir(Trim(path)//c_null_char, Int(o'772'
+     $       ,MOLCAS_C_INT))
         If (Present(err)) err = loc_err
       End Subroutine f_mkdir
 
@@ -86,8 +87,8 @@
         Use iso_c_binding
         Implicit None
         Character(*) :: path
-        Integer, Optional, Intent(Out) :: err
-        Integer :: loc_err
+        Integer(Kind=MOLCAS_C_INT), Optional, Intent(Out) :: err
+        Integer(Kind=MOLCAS_C_INT) :: loc_err
         loc_err = c_rmrf(Trim(path)//c_null_char)
         If (Present(err)) err = loc_err
       End Subroutine f_rmrf