diff options
author | Elena Pourmal <epourmal@hdfgroup.org> | 2006-10-12 03:59:18 (GMT) |
---|---|---|
committer | Elena Pourmal <epourmal@hdfgroup.org> | 2006-10-12 03:59:18 (GMT) |
commit | 65a1c88821f60afd477a64e81564f33d14e9e671 (patch) | |
tree | 9badae16a867c73523803cc8043a0526cdfd68ce /fortran/src/H5Pf.c | |
parent | e065eee4a8932e6c09557bc539d6674138e9d7fe (diff) | |
download | hdf5-65a1c88821f60afd477a64e81564f33d14e9e671.zip hdf5-65a1c88821f60afd477a64e81564f33d14e9e671.tar.gz hdf5-65a1c88821f60afd477a64e81564f33d14e9e671.tar.bz2 |
[svn-r12752] Descripton: This is a port to G95 compiler for MAC OSX and AIX 5.2
Previous implementation failed to compile on MAC OS X Tiger 10.4 and AIX 5.2
In previous implementation, each overloaded Fortran function called the same
C function. Since declaration of parameters in INTERFACE block for
C Function differed, some compilers issued warnings but g95 on MAC and AIX
failed to compile.
Solution: Add C wrappers corresponding to each overloaded Fortran function
to call C stub function. This fix should also reduce number of warnings
on IRIX systems.
Platforms tested: MAC OS and AIX 5.2 (copper) with g95;
sol (with Sun compilers), heping with PGI compilers
Diffstat (limited to 'fortran/src/H5Pf.c')
-rw-r--r-- | fortran/src/H5Pf.c | 223 |
1 files changed, 194 insertions, 29 deletions
diff --git a/fortran/src/H5Pf.c b/fortran/src/H5Pf.c index 8671a0e..54f954d 100644 --- a/fortran/src/H5Pf.c +++ b/fortran/src/H5Pf.c @@ -380,6 +380,33 @@ nh5pset_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) return ret_value; } +int_f +nh5pset_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) +{ + /* + * Call h5pset_fill_value_c function. + */ + return nh5pset_fill_value_c(prp_id, type_id, fillvalue); +} + +int_f +nh5pset_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) +{ + /* + * Call h5pset_fill_value_c function. + */ + return nh5pset_fill_value_c(prp_id, type_id, fillvalue); +} + +int_f +nh5pset_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) +{ + /* + * Call h5pset_fill_value_c function. + */ + return nh5pset_fill_value_c(prp_id, type_id, fillvalue); +} + /*---------------------------------------------------------------------------- * Name: h5pget_fill_valuec_c @@ -436,6 +463,33 @@ nh5pget_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) return ret_value; } +int_f +nh5pget_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) +{ + /* + * Call h5pget_fill_value_c function. + */ + return nh5pset_fill_value_c(prp_id, type_id, fillvalue); +} + +int_f +nh5pget_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) +{ + /* + * Call h5pget_fill_value_c function. + */ + return nh5pset_fill_value_c(prp_id, type_id, fillvalue); +} + +int_f +nh5pget_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue) +{ + /* + * Call h5pget_fill_value_c function. + */ + return nh5pset_fill_value_c(prp_id, type_id, fillvalue); +} + /*---------------------------------------------------------------------------- * Name: h5pget_version_c * Purpose: Call H5Pget_version to get the version information @@ -1185,9 +1239,9 @@ nh5pset_fapl_split_c(hid_t_f *prp_id, int_f* meta_len, _fcd meta_ext, hid_t_f* m char* c_meta_ext; char* c_raw_ext; - c_meta_ext = (char *)HD5f2cstring(meta_ext, (int)*meta_len); + c_meta_ext = (char *)HD5f2cstring(meta_ext, (size_t)*meta_len); if (c_meta_ext == NULL) return ret_value; - c_raw_ext = (char *)HD5f2cstring(raw_ext, (int)*raw_len); + c_raw_ext = (char *)HD5f2cstring(raw_ext, (size_t)*raw_len); if (c_raw_ext == NULL) { HDfree(c_meta_ext); return ret_value; } @@ -1488,7 +1542,7 @@ nh5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* { int ret_value = -1; hid_t c_prp_id; - int c_filter_number; + unsigned c_filter_number; unsigned int c_flags; size_t c_cd_nelmts, c_namelen; size_t c_cd_nelmts_in; @@ -1512,7 +1566,7 @@ nh5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* * Call H5Pget_filter function. */ c_prp_id = (hid_t)*prp_id; - c_filter_number = (int)*filter_number; + c_filter_number = (unsigned)*filter_number; c_filter = H5Pget_filter(c_prp_id, c_filter_number, &c_flags, &c_cd_nelmts, c_cd_values, c_namelen, c_name, NULL); if (c_filter < 0) goto DONE; @@ -1520,7 +1574,7 @@ nh5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* *filter_id = (int_f)c_filter; *cd_nelmts = (size_t_f)c_cd_nelmts; *flags = (int_f)c_flags; - HD5packFstring(c_name, _fcdtocp(name), (int)strlen(c_name)); + HD5packFstring(c_name, _fcdtocp(name), strlen(c_name)); for (i = 0; i < c_cd_nelmts_in; i++) cd_values[i] = (int_f)c_cd_values[i]; @@ -1556,7 +1610,7 @@ nh5pset_external_c (hid_t_f *prp_id, _fcd name, int_f* namelen, int_f* offset, h herr_t ret; hsize_t c_bytes; char* c_name; - int c_namelen; + size_t c_namelen; off_t c_offset; c_bytes = (hsize_t) *bytes; c_offset = (off_t) *offset; @@ -1653,7 +1707,7 @@ nh5pget_external_c(hid_t_f *prp_id, int_f *idx, size_t_f* name_size, _fcd name, *offset = (int_f)c_offset; *bytes = (hsize_t_f)size; - HD5packFstring(c_name, _fcdtocp(name), (int)strlen(c_name)); + HD5packFstring(c_name, _fcdtocp(name), strlen(c_name)); ret_value = 0; DONE: @@ -2179,7 +2233,7 @@ nh5pcreate_class_c(hid_t_f *parent, _fcd name, int_f *name_len, hid_t_f *class) hid_t c_class; char* c_name; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_parent = (hid_t)*parent; @@ -2210,7 +2264,7 @@ DONE: * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pregisterc_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f *value_len) +nh5pregisterc_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f UNUSED *value_len) { int ret_value = -1; @@ -2235,14 +2289,14 @@ nh5pregisterc_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, _fcd * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pregister_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value) +nh5pregister_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void UNUSED *value) { int_f ret_value = -1; hid_t c_class; char* c_name; size_t c_size; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_size = (size_t)*size; c_class = (hid_t)*class; @@ -2257,6 +2311,34 @@ DONE: if(c_name != NULL) HDfree(c_name); return ret_value; } + +int_f +nh5pregister_integer_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value) +{ + /* + * Call h5pregister_c function + */ + return nh5pregister_c(class, name, name_len, size, value); +} + +int_f +nh5pregister_real_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value) +{ + /* + * Call h5pregister_c function + */ + return nh5pregister_c(class, name, name_len, size, value); +} + +int_f +nh5pregister_double_c(hid_t_f *class, _fcd name, int_f *name_len, size_t_f *size, void *value) +{ + /* + * Call h5pregister_c function + */ + return nh5pregister_c(class, name, name_len, size, value); +} + /*---------------------------------------------------------------------------- * Name: h5pinsertc_c * Purpose: Call h5pinsert_c to register a temporary property @@ -2271,7 +2353,7 @@ DONE: * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pinsertc_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f *value_len) +nh5pinsertc_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f UNUSED *value_len) { int_f ret_value = -1; @@ -2296,14 +2378,14 @@ nh5pinsertc_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd v * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pinsert_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value) +nh5pinsert_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void UNUSED *value) { int_f ret_value = -1; hid_t c_plist; char* c_name; size_t c_size; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_size = (size_t)*size; c_plist = (hid_t)*plist; @@ -2319,6 +2401,33 @@ DONE: return ret_value; } +int_f +nh5pinsert_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value) +{ + /* + * Call h5pinsert_c function + */ + return nh5pinsert_c(plist, name, name_len, size, value); +} + +int_f +nh5pinsert_real_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value) +{ + /* + * Call h5pinsert_c function + */ + return nh5pinsert_c(plist, name, name_len, size, value); +} + +int_f +nh5pinsert_double_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value) +{ + /* + * Call h5pinsert_c function + */ + return nh5pinsert_c(plist, name, name_len, size, value); +} + /*---------------------------------------------------------------------------- * Name: h5pexist_c * Purpose: Call H5Pexist to querie whether a property name exists @@ -2339,7 +2448,7 @@ nh5pexist_c(hid_t_f *class, _fcd name, int_f *name_len) char* c_name; htri_t status; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_class = (hid_t)*class; @@ -2402,7 +2511,7 @@ nh5pget_size_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size) char* c_name; size_t c_size; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_plist = (hid_t)*plist; @@ -2495,7 +2604,7 @@ nh5pcopy_prop_c(hid_t_f *dst_id, hid_t_f *src_id, _fcd name, int_f *name_len) hid_t c_dst_id, c_src_id; char* c_name; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_dst_id = (hid_t)*dst_id; @@ -2528,7 +2637,7 @@ nh5premove_c(hid_t_f *plid, _fcd name, int_f *name_len) hid_t c_plid; char* c_name; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_plid = (hid_t)*plid; @@ -2560,7 +2669,7 @@ nh5punregister_c(hid_t_f *class, _fcd name, int_f *name_len) hid_t c_class; char* c_name; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_class = (hid_t)*class; @@ -2623,7 +2732,7 @@ nh5pget_class_name_c(hid_t_f *class, _fcd name, int_f *name_len) c_name = H5Pget_class_name(c_class); if( c_name == NULL) goto DONE; - HD5packFstring(c_name, _fcdtocp(name), (int)*name_len); + HD5packFstring(c_name, _fcdtocp(name), (size_t)*name_len); ret_value = (int_f)HDstrlen(c_name); DONE: @@ -2643,7 +2752,7 @@ DONE: * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5psetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f *value_len) +nh5psetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f UNUSED *value_len) { int_f ret_value = -1; @@ -2667,13 +2776,13 @@ nh5psetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f *value_ * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pset_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +nh5pset_c(hid_t_f *plist, _fcd name, int_f *name_len, void UNUSED *value) { int_f ret_value = -1; hid_t c_plist; char* c_name; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_plist = (hid_t)*plist; @@ -2687,6 +2796,33 @@ DONE: if(c_name != NULL) HDfree(c_name); return ret_value; } + +int_f +nh5pset_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +{ + /* + * Call h5pset_c function + */ + return nh5pset_c(plist, name, name_len, value); +} + +int_f +nh5pset_real_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +{ + /* + * Call h5pset_c function + */ + return nh5pset_c(plist, name, name_len, value); +} + +int_f +nh5pset_double_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +{ + /* + * Call h5pset_c function + */ + return nh5pset_c(plist, name, name_len, value); +} /*---------------------------------------------------------------------------- * Name: h5pgetc_c * Purpose: Call h5set_c to set property with the character string value @@ -2700,7 +2836,7 @@ DONE: * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pgetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f *value_len) +nh5pgetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f UNUSED *value_len) { int_f ret_value = -1; @@ -2724,13 +2860,13 @@ nh5pgetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f *value_ * Modifications: *---------------------------------------------------------------------------*/ int_f -nh5pget_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +nh5pget_c(hid_t_f *plist, _fcd name, int_f *name_len, void UNUSED *value) { int_f ret_value = -1; hid_t c_plist; char* c_name; - c_name = (char *)HD5f2cstring(name, (int)*name_len); + c_name = (char *)HD5f2cstring(name, (size_t)*name_len); if (c_name == NULL) goto DONE; c_plist = (hid_t)*plist; @@ -2744,6 +2880,35 @@ DONE: if(c_name != NULL) HDfree(c_name); return ret_value; } + +int_f +nh5pget_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +{ + /* + * Call h5pget_c function + */ + return nh5pget_c(plist, name, name_len, value); +} + +int_f +nh5pget_real_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +{ + /* + * Call h5pget_c function + */ + return nh5pget_c(plist, name, name_len, value); +} + +int_f +nh5pget_double_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value) +{ + /* + * Call h5pget_c function + */ + return nh5pget_c(plist, name, name_len, value); +} + + /*---------------------------------------------------------------------------- * Name: h5pset_shuffle_c * Purpose: Call H5Pset_shuffle @@ -2910,7 +3075,7 @@ nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f * Take care of names array */ - tmp = (char *)HD5f2cstring(memb_name, c_lenmax*(H5FD_MEM_NTYPES)); + tmp = (char *)HD5f2cstring(memb_name, (size_t)c_lenmax*(H5FD_MEM_NTYPES)); if (tmp ==NULL) return ret_value; tmp_p = tmp; for (i=0; i < H5FD_MEM_NTYPES; i++) { @@ -3035,7 +3200,7 @@ nh5pget_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f length = H5_MAX(length, strlen(c_memb_name[i])); tmp_p = tmp_p + c_lenmax; } -HD5packFstring(tmp, _fcdtocp(memb_name), (int)(c_lenmax*H5FD_MEM_NTYPES)); +HD5packFstring(tmp, _fcdtocp(memb_name), (size_t)(c_lenmax*H5FD_MEM_NTYPES)); /* * Take care of other arguments @@ -3175,7 +3340,7 @@ nh5pget_filter_by_id_c(hid_t_f *prp_id, int_f* filter_id, int_f* flags, size_t_f *cd_nelmts = (size_t_f)c_cd_nelmts; *flags = (int_f)c_flags; - HD5packFstring(c_name, _fcdtocp(name), (int)strlen(c_name)); + HD5packFstring(c_name, _fcdtocp(name), strlen(c_name)); for (i = 0; i < c_cd_nelmts_in; i++) cd_values[i] = (int_f)c_cd_values[i]; |