help

Hi, I'm using the last stable release of the gfortran compiler (4.7.1)
with the flags -Wconversion -Wconversion-extra.
I'm trying to build an extensible dataset, by using the command

     use hdf5
     implicit none
     integer(hsize_t), dimension(7), parameter:: dims_scalar =
INT((/1,0,0,0,0,0,0/),hsize_t)
     integer, parameter :: rank = 1
     integer(hid_t) :: dataspace_id
     integer :: error
     integer(hsize_t), dimension(1) :: maxdims

      maxdims = H5S_UNLIMITED_F
      CALL h5screate_simple_f(RANK, dims, dataspace_id, error, &
    & maxdims)

and the compiler returns the warning:

      maxdims = H5S_UNLIMITED_F
                1
Warning: Conversion from INTEGER(4) to INTEGER(8) at (1)

I have checked in the file H5f90global.f90 and H5S_UNLIMITED_F is
declared as integer, whereas h5screate_simple_f actually requests an
integer(hsize_t) for the maxdims argument.

I have "fixed" the warning by converting the H5S_UNLIMITED_F variable:
      maxdims = INT(H5S_UNLIMITED_F, HSIZE_T)

but the inconsistency still remains.

Hi Andrea,

Thank you for your report. This is definitely an oversight on our part. I will file a bug report (it is an easy fix).

Elena

···

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elena Pourmal The HDF Group http://hdfgroup.org
1800 So. Oak St., Suite 203, Champaign IL 61820
217.531.6112
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On Jul 23, 2012, at 10:40 AM, Andrea Negri wrote:

Hi, I'm using the last stable release of the gfortran compiler (4.7.1)
with the flags -Wconversion -Wconversion-extra.
I'm trying to build an extensible dataset, by using the command

    use hdf5
    implicit none
    integer(hsize_t), dimension(7), parameter:: dims_scalar =
INT((/1,0,0,0,0,0,0/),hsize_t)
    integer, parameter :: rank = 1
    integer(hid_t) :: dataspace_id
    integer :: error
    integer(hsize_t), dimension(1) :: maxdims

     maxdims = H5S_UNLIMITED_F
     CALL h5screate_simple_f(RANK, dims, dataspace_id, error, &
   & maxdims)

and the compiler returns the warning:

     maxdims = H5S_UNLIMITED_F
               1
Warning: Conversion from INTEGER(4) to INTEGER(8) at (1)

I have checked in the file H5f90global.f90 and H5S_UNLIMITED_F is
declared as integer, whereas h5screate_simple_f actually requests an
integer(hsize_t) for the maxdims argument.

I have "fixed" the warning by converting the H5S_UNLIMITED_F variable:
     maxdims = INT(H5S_UNLIMITED_F, HSIZE_T)

but the inconsistency still remains.

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@hdfgroup.org
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org