diff --git a/configure.ac b/configure.ac index 8e86464..899b75d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([H5hut], [1.99.12], [h5part@lists.psi.ch], H5hut) +AC_INIT([H5hut], [1.99.14], [h5part@lists.psi.ch], H5hut) AC_PREREQ(2.60) AC_CONFIG_HEADERS(config.h) AC_CONFIG_MACRO_DIR([m4]) @@ -88,6 +88,26 @@ AC_ARG_WITH( [VTK installation path [default=""]])], [VTK_PREFIX=$withval], []) +# Determine a C/C++ compiler to use. +CC='' +CXX='' +if test "x$ENABLE_PARALLEL" = "xyes"; then + AC_PROG_CC(mpicc cc) + AC_PROG_CXX(mpic++ CC) +else + AC_PROG_CC(pgcc pathcc icc gcc cc_r cc) + AC_PROG_CXX(pgcc pathcc icc g++ cc_r c++) +fi + +CC=`which $CC` +CXX=`which $CXX` + +AC_PROG_CC_C99 +if test "x$ac_cv_prog_cc_c99" = "xno"; then + AC_MSG_ERROR([Cannot set C compiler to use C99 standard!]) + exit 1 +fi + ############################################################################### ############### PATH SERACH FUNCTION - to be used later... #################### @@ -133,36 +153,17 @@ FFLAGS="$FFLAGS -Wall" # debug enabled? AC_MSG_CHECKING([if debug is enabled]) if test "X$ENABLE_DEBUG" = "Xyes"; then - AC_MSG_RESULT([yes]) - CFLAGS="$CFLAGS -g" - CXXFLAGS="$CFLAGS -g" - FFLAGS="$FFLAGS -g" + AC_MSG_RESULT([yes]) + CFLAGS="$CFLAGS -g" + CXXFLAGS="$CFLAGS -g" + FFLAGS="$FFLAGS -g" else - AC_MSG_RESULT([no]) - CFLAGS="$CFLAGS -O3" - CXXFLAGS="$CFLAGS -O3" - FFLAGS="$FFLAGS -O3" + AC_MSG_RESULT([no]) + CFLAGS="$CFLAGS -O3" + CXXFLAGS="$CFLAGS -O3" + FFLAGS="$FFLAGS -O3" fi -# Determine a C/C++ compiler to use. -if test "x$ENABLE_PARALLEL" = "xyes"; then - CCOMPILERS="mpicc cc" - CXXCOMPILERS="mpic++ CC" -else - CCOMPILERS="pgcc pathcc icc gcc cc_r cc" - CXXCOMPILERS="pgcc pathcc icc g++ cc_r c++" -fi - -AC_PROG_CC($CCOMPILERS) -CC=`which $CC` -AC_PROG_CXX($CXXCOMPILERS) -CXX=`which $CXX` - -AC_PROG_CC_C99 -if test "x$ac_cv_prog_cc_c99" = "xno"; then - AC_MSG_ERROR([Cannot set C compiler to use C99 standard!]) - exit 1 -fi AC_PROG_INSTALL AC_PROG_AWK @@ -220,41 +221,43 @@ fi AC_MSG_CHECKING([if fortran interface enabled]) if test "X$ENABLE_FORTRAN" = "Xyes"; then AC_MSG_RESULT([yes]) - + AC_LANG_PUSH(Fortran) + FC='' + F77='' + F90='' if test "X$ENABLE_PARALLEL" = "Xyes"; then AC_PROG_FC(mpif90 mpif77) else AC_PROG_FC(pgf90 ifort xlf_r pathf90 g95 g90 ftn gfortran) fi - FC=`which $FC` - if test -z "$FC" ; then - AC_MSG_ERROR([Cannot find a Fortran compiler!]) - exit 1 + FC=`which $FC` + + # Query Fortran symbol mangling. __AC_FC_NAME_MANGLING sets + # ac_cv_{f77,fc}_mangling. The value contains three fields, separated + # by commas: + # + # lower case / upper case: + # case translation of the Fortran symbols + # underscore / no underscore: + # whether the compiler appends "_" to symbol names + # extra underscore / no extra underscore: + # whether the compiler appends an extra "_" to symbol names already + # containing at least one underscore + __AC_FC_NAME_MANGLING + if test "X${ac_cv_fc_mangling}" == "Xlower case, no underscore, no extra underscore"; then + CPPFLAGS+=" -DFC_MANGLING_LOWERCASE_NO_UNDERSCORE" + elif test "X${ac_cv_fc_mangling}" == "Xlower case, underscore, no extra underscore"; then + CPPFLAGS+=" -DFC_MANGLING_LOWERCASE_SINGLE_UNDERSCORE" + elif test "X${ac_cv_fc_mangling}" == "Xlower case, underscore, extra underscore"; then + CPPFLAGS+=" -DFC_MANGLING_LOWERCASE_DOUBLE_UNDERSCORE" + elif test "X${ac_cv_fc_mangling}" == "Xupper case, no underscore, no extra underscore"; then + CPPFLAGS+=" -DFC_MANGLING_UPPERCASE_NO_UNDERSCORE" + elif test "X${ac_cv_fc_mangling}" == "Xupper case, underscore, no extra underscore"; then + CPPFLAGS+=" -DFC_MANGLING_UPPERCASE_SINGLE_UNDERSCORE" + elif test "X${ac_cv_fc_mangling}" == "Xupper case, underscore, extra underscore"; then + CPPFLAGS+=" -DFC_MANGLING_UPPERCASE_DOUBLE_UNDERSCORE" fi - - if test $FC = "g90"; then - FFLAGS="${FFLAGS} -fno-second-underscore" - fi - - if test $FC = "g95"; then - FFLAGS="${FFLAGS} -fno-second-underscore" - fi - - AC_MSG_CHECKING([symbol convention in object files]) - `cd src/Fortran && rm -f TestUnderscore.o TestUnderscoreC.o TestUnderscore` - `cd src/Fortran && ${FC} ${FFLAGS} -c TestUnderscore.f` - `cd src/Fortran && ${CC} ${CFLAGS} -c TestUnderscoreC.c` - `cd src/Fortran && ${FC} ${FFLAGS} -o TestUnderscore TestUnderscore.o TestUnderscoreC.o` - - if test -f src/Fortran/TestUnderscore ; then - `cd src/Fortran && ./TestUnderscore > Underscore.h` - AC_MSG_RESULT([ok]) - else - AC_MSG_RESULT([nok]) - AC_MSG_ERROR([Cannot determine the symbol convention for Fortran object files!]) - exit 1 - fi - + AC_LANG_POP(Fortran) else AC_MSG_RESULT([no]) fi diff --git a/src/Fortran/H5.c b/src/Fortran/H5.c index 81e7624..68360c3 100644 --- a/src/Fortran/H5.c +++ b/src/Fortran/H5.c @@ -13,9 +13,8 @@ #include "h5core/h5_debug.h" #include "h5core/h5_model.h" -#define h5_createprop_file F77_NAME( \ - h5_createprop_file, \ - h5_createprop_file_, \ +#define h5_createprop_file FC_MANGLING( \ + h5_createprop_file, \ H5_CREATEPROP_FILE) h5_int64_t h5_createprop_file ( @@ -25,9 +24,9 @@ h5_createprop_file ( H5_API_RETURN ((h5_int64_t)h5_create_prop (H5_PROP_FILE)); } -#define h5_setprop_file_mpio F77_NAME( \ - h5_setprop_file_mpio, \ - h5_setprop_file_mpio_, \ +#if defined(PARALLEL_IO) +#define h5_setprop_file_mpio FC_MANGLING( \ + h5_setprop_file_mpio, \ H5_SETPROP_FILE_MPIO) h5_int64_t h5_setprop_file_mpio ( @@ -42,9 +41,8 @@ h5_setprop_file_mpio ( H5_API_RETURN ((h5_int64_t)h5_set_prop_file_mpio_collective (prop, &comm)); } -#define h5_setprop_file_mpio_collective F77_NAME( \ - h5_setprop_file_mpio_collective, \ - h5_setprop_file_mpio_collective_, \ +#define h5_setprop_file_mpio_collective FC_MANGLING( \ + h5_setprop_file_mpio_collective, \ H5_SETPROP_FILE_MPIO_COLLECTIVE) h5_int64_t h5_setprop_file_mpio_collective ( @@ -59,9 +57,8 @@ h5_setprop_file_mpio_collective ( H5_API_RETURN ((h5_int64_t)h5_set_prop_file_mpio_collective (prop, &comm)); } -#define h5_setprop_file_mpio_independent F77_NAME( \ - h5_setprop_file_mpio_independent, \ - h5_setprop_file_mpio_independent_, \ +#define h5_setprop_file_mpio_independent FC_MANGLING( \ + h5_setprop_file_mpio_independent, \ H5_SETPROP_FILE_MPIO_INDEPENDENT) h5_int64_t h5_setprop_file_mpio_independent ( @@ -76,9 +73,8 @@ h5_setprop_file_mpio_independent ( H5_API_RETURN ((h5_int64_t)h5_set_prop_file_mpio_independent (prop, &comm)); } -#define h5_setprop_file_mpio_posix F77_NAME( \ +#define h5_setprop_file_mpio_posix FC_MANGLING( \ h5_setprop_file_mpio_posix, \ - h5_setprop_file_mpio_posix_, \ H5_SETPROP_FILE_MPIO_POSIX) h5_int64_t h5_setprop_file_mpio_posix ( @@ -92,10 +88,10 @@ h5_setprop_file_mpio_posix ( MPI_Comm comm = MPI_Comm_f2c (*_comm); H5_API_RETURN ((h5_int64_t)h5_set_prop_file_mpio_posix (prop, &comm)); } +#endif -#define h5_setprop_file_corevfd F77_NAME( \ - h5_setprop_file_corevfd, \ - h5_setprop_file_corevfd, \ +#define h5_setprop_file_corevfd FC_MANGLING( \ + h5_setprop_file_corevfd, \ H5_SETPROP_FILE_COREVFD) h5_int64_t h5_setprop_file_corevfd ( @@ -108,9 +104,8 @@ h5_setprop_file_corevfd ( H5_API_RETURN ((h5_int64_t)h5_set_prop_file_core_vfd (prop)); } -#define h5_setprop_file_align F77_NAME ( \ - h5_setprop_file_align, \ - h5_setprop_file_align_, \ +#define h5_setprop_file_align FC_MANGLING ( \ + h5_setprop_file_align, \ H5_SETPROP_FILE_ALIGN) h5_int64_t h5_setprop_file_align ( @@ -124,9 +119,8 @@ h5_setprop_file_align ( H5_API_RETURN (h5_set_prop_file_align (prop, *align)); } -#define h5_setprop_file_throttle F77_NAME ( \ +#define h5_setprop_file_throttle FC_MANGLING ( \ h5_setprop_file_throttle, \ - h5_setprop_file_throttle_, \ H5_SETPROP_FILE_THROTTLE) h5_int64_t @@ -142,9 +136,8 @@ h5_setprop_file_throttle ( H5_API_RETURN (h5_set_prop_file_throttle (prop, *throttle)); } -#define h5_closeprop F77_NAME ( \ +#define h5_closeprop FC_MANGLING ( \ h5_closeprop, \ - h5_closeprop_, \ H5_CLOSEPROP) h5_int64_t h5_closeprop ( @@ -157,9 +150,8 @@ h5_closeprop ( H5_API_RETURN (h5_close_prop (prop)); } -#define h5_openfile F77_NAME( \ +#define h5_openfile FC_MANGLING( \ h5_openfile, \ - h5_openfile_, \ H5_OPENFILE) h5_int64_t h5_openfile ( @@ -180,9 +172,8 @@ h5_openfile ( H5_API_RETURN ((h5_int64_t)f); } -#define h5_closefile F77_NAME( \ - h5_closefile, \ - h5_closefile_, \ +#define h5_closefile FC_MANGLING( \ + h5_closefile, \ H5_CLOSEFILE) h5_int64_t h5_closefile ( @@ -193,9 +184,8 @@ h5_closefile ( H5_API_RETURN (h5_close_file (fh)); } -#define h5_checkfile F77_NAME( \ - h5_checkfile, \ - h5_checkfile_, \ +#define h5_checkfile FC_MANGLING( \ + h5_checkfile, \ H5_CHECKFILE) h5_int64_t h5_checkfile ( @@ -206,9 +196,8 @@ h5_checkfile ( H5_API_RETURN (h5_check_filehandle (fh)); } -#define h5_flushfile F77_NAME( \ - h5_flushfile, \ - h5_flushfile_, \ +#define h5_flushfile FC_MANGLING( \ + h5_flushfile, \ H5_FLUSHFILE) h5_int64_t h5_flushfile ( @@ -219,9 +208,8 @@ h5_flushfile ( H5_API_RETURN (h5_flush_file (fh)); } -#define h5_flushstep F77_NAME( \ +#define h5_flushstep FC_MANGLING( \ h5_flushstep, \ - h5_flushstep_, \ H5_FLUSHSTEP) h5_int64_t h5_flushstep ( @@ -232,9 +220,8 @@ h5_flushstep ( H5_API_RETURN (h5_flush_step (fh)); } -#define h5_finalize F77_NAME( \ +#define h5_finalize FC_MANGLING( \ h5_finalize, \ - h5_finalize_, \ H5_FINALIZE) h5_int64_t h5_finalize ( @@ -247,9 +234,8 @@ h5_finalize ( /* debug output */ -#define h5_set_verbosity_level F77_NAME( \ +#define h5_set_verbosity_level FC_MANGLING( \ h5_set_verbosity_level, \ - h5_set_verbosity_level_, \ H5_SET_VERBOSITY_LEVEL) h5_int64_t h5_set_verbosity_level ( @@ -260,9 +246,8 @@ h5_set_verbosity_level ( H5_API_RETURN(h5_set_debuglevel (*level)); } -#define h5_abort_on_error F77_NAME( \ - h5_abort_on_error, \ - h5_abort_on_error_, \ +#define h5_abort_on_error FC_MANGLING( \ + h5_abort_on_error, \ H5_ABORT_ON_ERROR) h5_int64_t h5_abort_on_error ( @@ -273,9 +258,8 @@ h5_abort_on_error ( H5_API_RETURN (h5_set_errorhandler (h5_abort_errorhandler)); } -#define h5_get_error_number F77_NAME( \ - h5_get_error_number, \ - h5_get_error_number_, \ +#define h5_get_error_number FC_MANGLING( \ + h5_get_error_number, \ H5_GET_ERROR_NUMBER) h5_int64_t h5_get_error_number ( diff --git a/src/Fortran/H5Block_attribs.c b/src/Fortran/H5Block_attribs.c index 6586a75..16a0ff6 100644 --- a/src/Fortran/H5Block_attribs.c +++ b/src/Fortran/H5Block_attribs.c @@ -24,9 +24,8 @@ |_| |___/ */ -#define h5bl_getnfieldattribs F77_NAME ( \ +#define h5bl_getnfieldattribs FC_MANGLING ( \ h5bl_getnfieldattribs, \ - h5bl_getnfieldattribs_, \ H5BL_GETNFIELDATTRIBS) h5_int64_t h5bl_getnfieldattribs ( @@ -44,9 +43,8 @@ h5bl_getnfieldattribs ( H5_API_RETURN (herr); } -#define h5bl_getfieldattribinfo F77_NAME ( \ +#define h5bl_getfieldattribinfo FC_MANGLING ( \ h5bl_getfieldattribinfo, \ - h5bl_getfieldattribinfo_, \ h5bl_getfieldattribinfo) h5_int64_t h5bl_getfieldattribinfo ( @@ -139,9 +137,8 @@ read_field_attrib ( |___/\__|_| |_|_| |_|\__, | |___/ */ -#define h5bl_writefieldattrib_string F77_NAME ( \ +#define h5bl_writefieldattrib_string FC_MANGLING ( \ h5bl_writefieldattrib_string, \ - h5bl_writefieldattrib_string_, \ H5BL_WRITEFIELDATTRIB_STRING) h5_int64_t h5bl_writefieldattrib_string ( @@ -172,9 +169,8 @@ h5bl_writefieldattrib_string ( H5_API_RETURN (h5err); } -#define h5bl_readfieldattrib_string F77_NAME ( \ +#define h5bl_readfieldattrib_string FC_MANGLING ( \ h5bl_readfieldattrib_string, \ - h5bl_readfieldattrib_string_, \ H5BL_READFIELDATTRIB_STRING) h5_err_t h5bl_readfieldattrib_string ( @@ -210,9 +206,8 @@ h5bl_readfieldattrib_string ( | | | __/ (_| | | |_| \___|\__,_|_| */ -#define h5bl_writefieldattrib_r8 F77_NAME ( \ +#define h5bl_writefieldattrib_r8 FC_MANGLING ( \ h5bl_writefieldattrib_r8, \ - h5bl_writefieldattrib_r8_, \ H5BL_WRITEFIELDATTRIB_R8) h5_int64_t h5bl_writefieldattrib_r8 ( @@ -240,9 +235,8 @@ h5bl_writefieldattrib_r8 ( attrib_value, *attrib_nelems)); } -#define h5bl_readfieldattrib_r8 F77_NAME ( \ +#define h5bl_readfieldattrib_r8 FC_MANGLING ( \ h5bl_readfieldattrib_r8, \ - h5bl_readfieldattrib_r8_, \ H5BL_READFIELDATTRIB_R8) h5_err_t h5bl_readfieldattrib_r8 ( @@ -269,9 +263,8 @@ h5bl_readfieldattrib_r8 ( attrib_value)); } -#define h5bl_writefieldattrib_r4 F77_NAME ( \ +#define h5bl_writefieldattrib_r4 FC_MANGLING ( \ h5bl_writefieldattrib_r4, \ - h5bl_writefieldattrib_r4_, \ H5BL_WRITEFIELDATTRIB_R4) h5_int64_t h5bl_writefieldattrib_r4 ( @@ -299,9 +292,8 @@ h5bl_writefieldattrib_r4 ( attrib_value, *attrib_nelems)); } -#define h5bl_readfieldattrib_r4 F77_NAME ( \ +#define h5bl_readfieldattrib_r4 FC_MANGLING ( \ h5bl_readfieldattrib_r4, \ - h5bl_readfieldattrib_r4_, \ H5BL_READFIELDATTRIB_R4) h5_err_t h5bl_readfieldattrib_r4 ( @@ -336,9 +328,8 @@ h5bl_readfieldattrib_r4 ( |_|_| |_|\__\___|\__, |\___|_| |___/ */ -#define h5bl_writefieldattrib_i8 F77_NAME ( \ +#define h5bl_writefieldattrib_i8 FC_MANGLING ( \ h5bl_writefieldattrib_i8, \ - h5bl_writefieldattrib_i8_, \ H5BL_WRITEFIELDATTRIB_I8) h5_int64_t h5bl_writefieldattrib_i8 ( @@ -366,9 +357,8 @@ h5bl_writefieldattrib_i8 ( attrib_value, *attrib_nelems)); } -#define h5bl_readfieldattrib_i8 F77_NAME ( \ +#define h5bl_readfieldattrib_i8 FC_MANGLING ( \ h5bl_readfieldattrib_i8, \ - h5bl_readfieldattrib_i8_, \ H5BL_READFIELDATTRIB_I8) h5_err_t h5bl_readfieldattrib_i8 ( @@ -396,9 +386,8 @@ h5bl_readfieldattrib_i8 ( attrib_value)); } -#define h5bl_writefieldattrib_i4 F77_NAME ( \ +#define h5bl_writefieldattrib_i4 FC_MANGLING ( \ h5bl_writefieldattrib_i4, \ - h5bl_writefieldattrib_i4_, \ H5BL_WRITEFIELDATTRIB_I4 ) h5_int64_t h5bl_writefieldattrib_i4 ( @@ -426,9 +415,8 @@ h5bl_writefieldattrib_i4 ( attrib_value, *attrib_nelems)); } -#define h5bl_readfieldattrib_i4 F77_NAME ( \ +#define h5bl_readfieldattrib_i4 FC_MANGLING ( \ h5bl_readfieldattrib_i4, \ - h5bl_readfieldattrib_i4_, \ H5BL_READFIELDATTRIB_I4) h5_err_t h5bl_readfieldattrib_i4 ( @@ -455,9 +443,8 @@ h5bl_readfieldattrib_i4 ( attrib_value)); } -#define h5bl_get_fieldorigin F77_NAME ( \ +#define h5bl_get_fieldorigin FC_MANGLING ( \ h5bl_get_fieldorigin, \ - h5bl_get_fieldorigin_, \ H5BL_GET_FIELDORIGIN) h5_int64_t @@ -492,9 +479,8 @@ h5bl_get_fieldorigin ( H5_API_RETURN (H5_SUCCESS); } -#define h5bl_set_fieldorigin F77_NAME ( \ +#define h5bl_set_fieldorigin FC_MANGLING ( \ h5bl_set_fieldorigin, \ - h5bl_set_fieldorigin_, \ H5BL_SET_FIELDORIGIN) h5_int64_t @@ -526,9 +512,8 @@ h5bl_set_fieldorigin ( H5_API_RETURN (H5_SUCCESS); } -#define h5bl_get_fieldspacing F77_NAME ( \ +#define h5bl_get_fieldspacing FC_MANGLING ( \ h5bl_get_fieldspacing, \ - h5bl_get_fieldspacing_, \ H5BL_GET_FIELDSPACING) h5_int64_t @@ -563,9 +548,8 @@ h5bl_get_fieldspacing ( H5_API_RETURN (H5_SUCCESS); } -#define h5bl_set_fieldspacing F77_NAME ( \ +#define h5bl_set_fieldspacing FC_MANGLING ( \ h5bl_set_fieldspacing, \ - h5bl_set_fieldspacing_, \ H5BL_SET_FIELDSPACING) h5_int64_t @@ -648,9 +632,8 @@ get_field_coords ( return (h5err); } -#define h5bl_set_fieldxcoords F77_NAME ( \ +#define h5bl_set_fieldxcoords FC_MANGLING ( \ h5bl_set_fieldxcoords, \ - h5bl_set_fieldxcoords_, \ H5BL_SET_FIELDXCOORDS) h5_int64_t h5bl_set_fieldxcoords ( @@ -674,9 +657,8 @@ h5bl_set_fieldxcoords ( coords, *n_coords)); } -#define h5bl_get_fieldxcoords F77_NAME ( \ +#define h5bl_get_fieldxcoords FC_MANGLING ( \ h5bl_get_fieldxcoords, \ - h5bl_get_fieldxcoords_, \ H5BL_GET_FIELDXCOORDS) h5_int64_t h5bl_get_fieldxcoords ( @@ -701,9 +683,8 @@ h5bl_get_fieldxcoords ( coords, *n_coords)); } -#define h5bl_set_fieldycoords F77_NAME ( \ +#define h5bl_set_fieldycoords FC_MANGLING ( \ h5bl_set_fieldycoords, \ - h5bl_set_fieldycoords_, \ H5BL_SET_FIELDYCOORDS) h5_int64_t h5bl_set_fieldycoords ( @@ -728,9 +709,8 @@ h5bl_set_fieldycoords ( coords, *n_coords)); } -#define h5bl_get_fieldycoords F77_NAME ( \ +#define h5bl_get_fieldycoords FC_MANGLING ( \ h5bl_get_fieldycoords, \ - h5bl_get_fieldycoords_, \ H5BL_GET_FIELDyCOORDS) h5_int64_t h5bl_get_fieldycoords ( @@ -756,9 +736,8 @@ h5bl_get_fieldycoords ( } -#define h5bl_set_fieldzcoords F77_NAME ( \ +#define h5bl_set_fieldzcoords FC_MANGLING ( \ h5bl_set_fieldzcoords, \ - h5bl_set_fieldzcoords_, \ H5BL_SET_FIELDZCOORDS) h5_int64_t h5bl_set_fieldzcoords ( @@ -783,9 +762,8 @@ h5bl_set_fieldzcoords ( coords, *n_coords)); } -#define h5bl_get_fieldzcoords F77_NAME ( \ +#define h5bl_get_fieldzcoords FC_MANGLING ( \ h5bl_get_fieldzcoords, \ - h5bl_get_fieldzcoords_, \ H5BL_GET_FIELDZCOORDS) h5_int64_t h5bl_get_fieldzcoords ( diff --git a/src/Fortran/H5Block_io.c b/src/Fortran/H5Block_io.c index 382027a..05756da 100644 --- a/src/Fortran/H5Block_io.c +++ b/src/Fortran/H5Block_io.c @@ -11,9 +11,8 @@ #include "h5core/h5_debug.h" #include "h5core/h5b_io.h" -#define h5bl_3d_write_scalar_field_r8 F77_NAME ( \ - h5bl_3d_write_scalar_field_r8, \ - h5bl_3d_write_scalar_field_r8_, \ +#define h5bl_3d_write_scalar_field_r8 FC_MANGLING ( \ + h5bl_3d_write_scalar_field_r8, \ H5BL_3D_WRITE_SCALAR_FIELD_R8 ) h5_err_t h5bl_3d_write_scalar_field_r8 ( @@ -33,9 +32,8 @@ h5bl_3d_write_scalar_field_r8 ( H5_API_RETURN(herr); } -#define h5bl_3d_read_scalar_field_r8 F77_NAME ( \ - h5bl_3d_read_scalar_field_r8, \ - h5bl_3d_read_scalar_field_r8_, \ +#define h5bl_3d_read_scalar_field_r8 FC_MANGLING ( \ + h5bl_3d_read_scalar_field_r8, \ H5BL_3D_READ_SCALAR_FIELD_R8 ) h5_err_t h5bl_3d_read_scalar_field_r8 ( @@ -55,9 +53,8 @@ h5bl_3d_read_scalar_field_r8 ( H5_API_RETURN(herr); } -#define h5bl_3d_write_vector3d_field_r8 F77_NAME ( \ +#define h5bl_3d_write_vector3d_field_r8 FC_MANGLING ( \ h5bl_3d_write_vector3d_field_r8, \ - h5bl_3d_write_vector3d_field_r8_, \ H5BL_3D_WRITE_VECTOR3D_FIELD_R8 ) h5_err_t h5bl_3d_write_vector3d_field_r8 ( @@ -80,9 +77,8 @@ h5bl_3d_write_vector3d_field_r8 ( H5_API_RETURN(herr); } -#define h5bl_3d_read_vector3d_field_r8 F77_NAME ( \ - h5bl_3d_read_vector3d_field_r8, \ - h5bl_3d_read_vector3d_field_r8_, \ +#define h5bl_3d_read_vector3d_field_r8 FC_MANGLING ( \ + h5bl_3d_read_vector3d_field_r8, \ H5BL_3D_READ_VECTOR3D_FIELD_R8 ) h5_err_t h5bl_3d_read_vector3d_field_r8 ( @@ -105,9 +101,8 @@ h5bl_3d_read_vector3d_field_r8 ( H5_API_RETURN(herr); } -#define h5bl_3d_write_scalar_field_r4 F77_NAME ( \ - h5bl_3d_write_scalar_field_r4, \ - h5bl_3d_write_scalar_field_r4_, \ +#define h5bl_3d_write_scalar_field_r4 FC_MANGLING ( \ + h5bl_3d_write_scalar_field_r4, \ H5BL_3D_WRITE_SCALAR_FIELD_R4 ) h5_err_t h5bl_3d_write_scalar_field_r4 ( @@ -127,9 +122,8 @@ h5bl_3d_write_scalar_field_r4 ( H5_API_RETURN(herr); } -#define h5bl_3d_read_scalar_field_r4 F77_NAME ( \ - h5bl_3d_read_scalar_field_r4, \ - h5bl_3d_read_scalar_field_r4_, \ +#define h5bl_3d_read_scalar_field_r4 FC_MANGLING ( \ + h5bl_3d_read_scalar_field_r4, \ H5BL_3D_READ_SCALAR_FIELD_R4 ) h5_err_t h5bl_3d_read_scalar_field_r4 ( @@ -149,9 +143,8 @@ h5bl_3d_read_scalar_field_r4 ( H5_API_RETURN(herr); } -#define h5bl_3d_write_vector3d_field_r4 F77_NAME ( \ +#define h5bl_3d_write_vector3d_field_r4 FC_MANGLING ( \ h5bl_3d_write_vector3d_field_r4, \ - h5bl_3d_write_vector3d_field_r4_, \ H5BL_3D_WRITE_VECTOR3D_FIELD_R4 ) h5_err_t h5bl_3d_write_vector3d_field_r4 ( @@ -174,9 +167,8 @@ h5bl_3d_write_vector3d_field_r4 ( H5_API_RETURN(herr); } -#define h5bl_3d_read_vector3d_field_r4 F77_NAME ( \ +#define h5bl_3d_read_vector3d_field_r4 FC_MANGLING ( \ h5bl_3d_read_vector3d_field_r4, \ - h5bl_3d_read_vector3d_field_r4_, \ H5BL_3D_READ_VECTOR3D_FIELD_R4 ) h5_err_t h5bl_3d_read_vector3d_field_r4 ( @@ -199,9 +191,8 @@ h5bl_3d_read_vector3d_field_r4 ( H5_API_RETURN (herr); } -#define h5bl_3d_write_scalar_field_i8 F77_NAME ( \ +#define h5bl_3d_write_scalar_field_i8 FC_MANGLING ( \ h5bl_3d_write_scalar_field_i8, \ - h5bl_3d_write_scalar_field_i8_, \ H5BL_3D_WRITE_SCALAR_FIELD_I8 ) h5_err_t h5bl_3d_write_scalar_field_i8 ( @@ -221,9 +212,8 @@ h5bl_3d_write_scalar_field_i8 ( H5_API_RETURN (herr); } -#define h5bl_3d_read_scalar_field_i8 F77_NAME ( \ - h5bl_3d_read_scalar_field_i8, \ - h5bl_3d_read_scalar_field_i8_, \ +#define h5bl_3d_read_scalar_field_i8 FC_MANGLING ( \ + h5bl_3d_read_scalar_field_i8, \ H5BL_3D_READ_SCALAR_FIELD_I8 ) h5_err_t h5bl_3d_read_scalar_field_i8 ( @@ -243,9 +233,8 @@ h5bl_3d_read_scalar_field_i8 ( H5_API_RETURN (herr); } -#define h5bl_3d_write_vector3d_field_i8 F77_NAME ( \ +#define h5bl_3d_write_vector3d_field_i8 FC_MANGLING ( \ h5bl_3d_write_vector3d_field_i8, \ - h5bl_3d_write_vector3d_field_i8_, \ H5BL_3D_WRITE_VECTOR3D_FIELD_I8 ) h5_err_t h5bl_3d_write_vector3d_field_i8 ( @@ -268,9 +257,8 @@ h5bl_3d_write_vector3d_field_i8 ( H5_API_RETURN(herr); } -#define h5bl_3d_read_vector3d_field_i8 F77_NAME ( \ +#define h5bl_3d_read_vector3d_field_i8 FC_MANGLING ( \ h5bl_3d_read_vector3d_field_i8, \ - h5bl_3d_read_vector3d_field_i8_, \ H5BL_3D_READ_VECTOR3D_FIELD_I8 ) h5_err_t h5bl_3d_read_vector3d_field_i8 ( @@ -293,9 +281,8 @@ h5bl_3d_read_vector3d_field_i8 ( H5_API_RETURN(herr); } -#define h5bl_3d_write_scalar_field_i4 F77_NAME ( \ +#define h5bl_3d_write_scalar_field_i4 FC_MANGLING ( \ h5bl_3d_write_scalar_field_i4, \ - h5bl_3d_write_scalar_field_i4_, \ H5BL_3D_WRITE_SCALAR_FIELD_I4 ) h5_err_t h5bl_3d_write_scalar_field_i4 ( @@ -315,9 +302,8 @@ h5bl_3d_write_scalar_field_i4 ( H5_API_RETURN(herr); } -#define h5bl_3d_read_scalar_field_i4 F77_NAME ( \ - h5bl_3d_read_scalar_field_i4, \ - h5bl_3d_read_scalar_field_i4_, \ +#define h5bl_3d_read_scalar_field_i4 FC_MANGLING ( \ + h5bl_3d_read_scalar_field_i4, \ H5BL_3D_READ_SCALAR_FIELD_I4 ) h5_err_t h5bl_3d_read_scalar_field_i4 ( @@ -337,9 +323,8 @@ h5bl_3d_read_scalar_field_i4 ( H5_API_RETURN(herr); } -#define h5bl_3d_write_vector3d_field_i4 F77_NAME ( \ +#define h5bl_3d_write_vector3d_field_i4 FC_MANGLING ( \ h5bl_3d_write_vector3d_field_i4, \ - h5bl_3d_write_vector3d_field_i4_, \ H5BL_3D_WRITE_VECTOR3D_FIELD_I4 ) h5_err_t h5bl_3d_write_vector3d_field_i4 ( @@ -362,9 +347,8 @@ h5bl_3d_write_vector3d_field_i4 ( H5_API_RETURN(herr); } -#define h5bl_3d_read_vector3d_field_i4 F77_NAME ( \ +#define h5bl_3d_read_vector3d_field_i4 FC_MANGLING ( \ h5bl_3d_read_vector3d_field_i4, \ - h5bl_3d_read_vector3d_field_i4_, \ H5BL_3D_READ_VECTOR3D_FIELD_I4 ) h5_err_t h5bl_3d_read_vector3d_field_i4 ( diff --git a/src/Fortran/H5Block_model.c b/src/Fortran/H5Block_model.c index 82631dd..de3bc46 100755 --- a/src/Fortran/H5Block_model.c +++ b/src/Fortran/H5Block_model.c @@ -11,9 +11,8 @@ #include "h5core/h5_debug.h" #include "h5core/h5b_model.h" -#define h5bl_hasfielddata F77_NAME ( \ +#define h5bl_hasfielddata FC_MANGLING ( \ h5bl_hasfielddata, \ - h5bl_hasdata_, \ H5BL_HASFIELDDATA ) h5_int64_t h5bl_hasfielddata ( @@ -27,9 +26,8 @@ h5bl_hasfielddata ( } -#define h5bl_3d_hasview F77_NAME ( \ +#define h5bl_3d_hasview FC_MANGLING ( \ h5bl_hasview, \ - h5bl_hasview_, \ H5BL_HASVIEW ) h5_int64_t h5bl_3d_hasview ( @@ -43,9 +41,8 @@ h5bl_3d_hasview ( } -#define h5bl_3d_setview F77_NAME ( \ +#define h5bl_3d_setview FC_MANGLING ( \ h5bl_3d_setview, \ - h5bl_3d_setview_, \ H5BL_3D_SETVIEW ) h5_int64_t h5bl_3d_setview ( @@ -74,9 +71,8 @@ h5bl_3d_setview ( *k_start-1, *k_end-1 )); } -#define h5bl_3d_getview F77_NAME ( \ +#define h5bl_3d_getview FC_MANGLING ( \ h5bl_3d_getview, \ - h5bl_3d_getview_, \ H5BL_3D_GETVIEW ) h5_int64_t h5bl_3d_getview ( @@ -114,9 +110,8 @@ h5bl_3d_getview ( -#define h5bl_3d_getreducedview F77_NAME ( \ +#define h5bl_3d_getreducedview FC_MANGLING ( \ h5bl_3d_getreducedview, \ - h5bl_3d_getreducedview_, \ H5BL_3D_GETREDUCEDVIEW ) h5_int64_t h5bl_3d_getreducedview ( @@ -152,9 +147,8 @@ h5bl_3d_getreducedview ( H5_API_RETURN (H5_SUCCESS); } -#define h5bl_3d_setchunk F77_NAME ( \ +#define h5bl_3d_setchunk FC_MANGLING ( \ h5bl_3d_setchunk, \ - h5bl_3d_setchunk_, \ H5BL_3D_SETCHUNK ) h5_int64_t h5bl_3d_setchunk ( @@ -170,9 +164,8 @@ h5bl_3d_setchunk ( H5_API_RETURN(h5b_3d_set_chunk (f, *i, *j, *k)); } -#define h5bl_3d_getchunk F77_NAME ( \ +#define h5bl_3d_getchunk FC_MANGLING ( \ h5bl_3d_getchunk, \ - h5bl_3d_getchunk_, \ H5BL_3D_GETCHUNK ) h5_int64_t h5bl_3d_getchunk ( @@ -195,9 +188,8 @@ h5bl_3d_getchunk ( #ifdef PARALLEL_IO -#define h5bl_3d_setgrid F77_NAME ( \ +#define h5bl_3d_setgrid FC_MANGLING ( \ h5bl_3d_setgrid, \ - h5bl_3d_setgrid_, \ h5bl_3d_setgrid) h5_int64_t h5bl_3d_setgrid ( @@ -213,9 +205,8 @@ h5bl_3d_setgrid ( H5_API_RETURN(h5b_3d_set_grid (f, *i, *j, *k)); } -#define h5bl_3d_getgrid F77_NAME ( \ +#define h5bl_3d_getgrid FC_MANGLING ( \ h5bl_3d_getgrid, \ - h5bl_3d_getgrid_, \ H5BL_3D_GETGRID) h5_int64_t h5bl_3d_getgrid ( @@ -232,9 +223,8 @@ h5bl_3d_getgrid ( H5_API_RETURN(h5b_3d_get_grid_coords (f, (int)*proc, i, j, k)); } -#define h5bl_3d_setdims F77_NAME ( \ +#define h5bl_3d_setdims FC_MANGLING ( \ h5bl_3d_setdims, \ - h5bl_3d_setdims_, \ H5BL_3D_SETDIMS) h5_int64_t h5bl_3d_setdims ( @@ -252,9 +242,8 @@ h5bl_3d_setdims ( #endif -#define h5bl_3d_sethalo F77_NAME ( \ +#define h5bl_3d_sethalo FC_MANGLING ( \ h5bl_3d_sethalo, \ - h5bl_3d_sethalo_, \ H5BL_3D_SETHALO) h5_int64_t h5bl_3d_sethalo ( @@ -270,9 +259,8 @@ h5bl_3d_sethalo ( H5_API_RETURN(h5b_3d_set_halo (f, *i, *j, *k)); } -#define h5bl_getnumfields F77_NAME ( \ +#define h5bl_getnumfields FC_MANGLING ( \ h5bl_getnumfields, \ - h5bl_getnumfields_, \ H5BL_GETNUMFIELDS ) h5_int64_t h5bl_getnumfields ( @@ -285,9 +273,8 @@ h5bl_getnumfields ( H5_API_RETURN (h5b_get_num_fields (f)); } -#define h5bl_getfieldinfo F77_NAME ( \ +#define h5bl_getfieldinfo FC_MANGLING ( \ h5bl_getfieldinfo, \ - h5bl_getfieldinfo_, \ H5BL_GETFIELDINFO ) h5_int64_t h5bl_getfieldinfo ( @@ -314,9 +301,8 @@ h5bl_getfieldinfo ( H5_API_RETURN(herr); } -#define h5bl_getfieldinfobyname F77_NAME ( \ +#define h5bl_getfieldinfobyname FC_MANGLING ( \ h5bl_getfieldinfobyname, \ - h5bl_getfieldinfobyname_, \ H5BL_GETFIELDINFOBYNAME) h5_int64_t h5bl_getfieldinfobyname ( diff --git a/src/Fortran/H5Part_io.c b/src/Fortran/H5Part_io.c index 1da6db4..d5b94af 100644 --- a/src/Fortran/H5Part_io.c +++ b/src/Fortran/H5Part_io.c @@ -13,9 +13,8 @@ #include "h5core/h5u_io.h" /*==================Writing data ============*/ -#define h5pt_writedata_r8 F77_NAME ( \ +#define h5pt_writedata_r8 FC_MANGLING ( \ h5pt_writedata_r8, \ - h5pt_writedata_r8_, \ H5PT_WRITEDATA_R8 ) h5_int64_t h5pt_writedata_r8 ( @@ -35,9 +34,8 @@ h5pt_writedata_r8 ( H5_API_RETURN(herr); } -#define h5pt_writedata_r4 F77_NAME ( \ +#define h5pt_writedata_r4 FC_MANGLING ( \ h5pt_writedata_r4, \ - h5pt_writedata_r4_, \ H5PT_WRITEDATA_R4 ) h5_int64_t h5pt_writedata_r4 ( @@ -57,9 +55,8 @@ h5pt_writedata_r4 ( H5_API_RETURN(herr); } -#define h5pt_writedata_i8 F77_NAME ( \ +#define h5pt_writedata_i8 FC_MANGLING ( \ h5pt_writedata_i8, \ - h5pt_writedata_i8_, \ H5PT_WRITEDATA_I8 ) h5_int64_t h5pt_writedata_i8 ( @@ -79,9 +76,8 @@ h5pt_writedata_i8 ( H5_API_RETURN(herr); } -#define h5pt_writedata_i4 F77_NAME ( \ +#define h5pt_writedata_i4 FC_MANGLING ( \ h5pt_writedata_i4, \ - h5pt_writedata_i4_, \ H5PT_WRITEDATA_I4 ) h5_int64_t h5pt_writedata_i4 ( @@ -103,9 +99,8 @@ h5pt_writedata_i4 ( /*==================Reading data ============*/ -#define h5pt_readdata_r8 F77_NAME ( \ +#define h5pt_readdata_r8 FC_MANGLING ( \ h5pt_readdata_r8, \ - h5pt_readdata_r8_, \ H5PT_READDATA_R8 ) h5_int64_t h5pt_readdata_r8 ( @@ -125,9 +120,8 @@ h5pt_readdata_r8 ( H5_API_RETURN(herr); } -#define h5pt_readdata_r4 F77_NAME ( \ +#define h5pt_readdata_r4 FC_MANGLING ( \ h5pt_readdata_r4, \ - h5pt_readdata_r4_, \ H5PT_READDATA_R4 ) h5_int64_t h5pt_readdata_r4 ( @@ -147,9 +141,8 @@ h5pt_readdata_r4 ( H5_API_RETURN(herr); } -#define h5pt_readdata_i8 F77_NAME ( \ +#define h5pt_readdata_i8 FC_MANGLING ( \ h5pt_readdata_i8, \ - h5pt_readdata_i8_, \ H5PT_READDATA_I8 ) h5_int64_t h5pt_readdata_i8 ( @@ -170,9 +163,8 @@ h5pt_readdata_i8 ( H5_API_RETURN(herr); } -#define h5pt_readdata_i4 F77_NAME ( \ +#define h5pt_readdata_i4 FC_MANGLING ( \ h5pt_readdata_i4, \ - h5pt_readdata_i4_, \ H5PT_READDATA_I4 ) h5_int64_t h5pt_readdata_i4 ( diff --git a/src/Fortran/H5Part_model.c b/src/Fortran/H5Part_model.c index 1a22e14..813e50f 100755 --- a/src/Fortran/H5Part_model.c +++ b/src/Fortran/H5Part_model.c @@ -15,9 +15,8 @@ /*=============Setting and getting views================*/ -#define h5pt_setnpoints F77_NAME ( \ +#define h5pt_setnpoints FC_MANGLING ( \ h5pt_setnpoints, \ - h5pt_setnpoints_, \ H5PT_SETNPOINTS ) h5_int64_t h5pt_setnpoints ( @@ -31,9 +30,8 @@ h5pt_setnpoints ( H5_API_RETURN (h5u_set_num_particles (f, *npoints, 1)); } -#define h5pt_setnpoints_strided F77_NAME ( \ +#define h5pt_setnpoints_strided FC_MANGLING ( \ h5pt_setnpoints_strided, \ - h5pt_setnpoints_strided_, \ H5PT_SETNPOINTS_STRIDED ) h5_int64_t h5pt_setnpoints_strided ( @@ -50,9 +48,8 @@ h5pt_setnpoints_strided ( -#define h5pt_setview F77_NAME ( \ +#define h5pt_setview FC_MANGLING ( \ h5pt_setview, \ - h5pt_setview_, \ H5PT_SETVIEW ) h5_int64_t h5pt_setview ( @@ -67,9 +64,8 @@ h5pt_setview ( H5_API_RETURN (h5u_set_view (f, (*start)-1, (*end)-1)); } -#define h5pt_setview_indices F77_NAME( \ +#define h5pt_setview_indices FC_MANGLING( \ h5pt_setview_indices, \ - h5pt_setview_indices_, \ H5PT_SETVIEW_INDICES ) h5_int64_t h5pt_setview_indices ( @@ -90,9 +86,8 @@ h5pt_setview_indices ( H5_API_RETURN (H5_SUCCESS); } -#define h5pt_setcanonicalview F77_NAME ( \ +#define h5pt_setcanonicalview FC_MANGLING ( \ h5pt_setcanonicalview, \ - h5pt_setcanonicalview_, \ H5PT_SETCANONICALVIEW) h5_int64_t h5pt_setcanonicalview ( @@ -106,9 +101,8 @@ h5pt_setcanonicalview ( } -#define h5pt_resetview F77_NAME ( \ +#define h5pt_resetview FC_MANGLING ( \ h5pt_resetview, \ - h5pt_resetview_, \ H5PT_RESETVIEW ) h5_int64_t h5pt_resetview ( @@ -121,9 +115,8 @@ h5pt_resetview ( H5_API_RETURN (h5u_reset_view (f)); } -#define h5pt_hasview F77_NAME ( \ +#define h5pt_hasview FC_MANGLING ( \ h5pt_hasview, \ - h5pt_hasview_, \ H5PT_HASVIEW ) h5_int64_t h5pt_hasview ( @@ -136,9 +129,8 @@ h5pt_hasview ( H5_API_RETURN (h5u_has_view (f)); } -#define h5pt_getview F77_NAME ( \ +#define h5pt_getview FC_MANGLING ( \ h5pt_getview, \ - h5pt_getview_, \ H5PT_GETVIEW ) h5_int64_t h5pt_getview ( @@ -158,9 +150,8 @@ h5pt_getview ( /*==============Reading Data Characteristics============*/ -#define h5pt_getndatasets F77_NAME ( \ +#define h5pt_getndatasets FC_MANGLING ( \ h5pt_getndatasets, \ - h5pt_getndatasets_, \ H5PT_GETNDATASETS ) h5_int64_t h5pt_getndatasets ( @@ -171,9 +162,8 @@ h5pt_getndatasets ( H5_API_RETURN(h5u_get_num_datasets (f)); } -#define h5pt_getnpoints F77_NAME ( \ +#define h5pt_getnpoints FC_MANGLING ( \ h5pt_getnpoints, \ - h5pt_getnpoints_, \ H5PT_GETNPOINTS ) h5_int64_t h5pt_getnpoints ( @@ -184,9 +174,8 @@ h5pt_getnpoints ( H5_API_RETURN (h5u_get_num_particles (f)); } -#define h5pt_getdatasetname F77_NAME ( \ +#define h5pt_getdatasetname FC_MANGLING ( \ h5pt_getdatasetname, \ - h5pt_getdatasetname_, \ H5PT_GETDATASETNAME ) h5_int64_t h5pt_getdatasetname ( @@ -205,9 +194,8 @@ h5pt_getdatasetname ( H5_API_RETURN (herr); } -#define h5pt_getdatasetinfo F77_NAME ( \ +#define h5pt_getdatasetinfo FC_MANGLING ( \ h5pt_getdatasetinfo, \ - h5pt_getdatasetinfo_, \ H5PT_GETDATASETINFO) h5_int64_t h5pt_getdatasetinfo ( @@ -241,9 +229,8 @@ h5pt_getdatasetinfo ( /*===================== misc =====================*/ -#define h5pt_setchunksize F77_NAME ( \ +#define h5pt_setchunksize FC_MANGLING ( \ h5pt_setchunksize, \ - h5pt_setchunksize_, \ H5PT_SETCHUNKSIZE ) h5_int64_t h5pt_setchunksize ( diff --git a/src/Fortran/H5_attribs.c b/src/Fortran/H5_attribs.c index d72f7d9..3c4fcc8 100644 --- a/src/Fortran/H5_attribs.c +++ b/src/Fortran/H5_attribs.c @@ -26,9 +26,8 @@ |_| |___/ */ -#define h5_getnfileattribs F77_NAME( \ - h5_getnfileattribs, \ - h5_getnfileattribs_, \ +#define h5_getnfileattribs FC_MANGLING( \ + h5_getnfileattribs, \ H5_GETNFILEATTRIBS) h5_int64_t h5_getnfileattribs ( @@ -39,9 +38,8 @@ h5_getnfileattribs ( H5_API_RETURN (h5_get_num_file_attribs (f)); } -#define h5_getfileattribinfo F77_NAME( \ +#define h5_getfileattribinfo FC_MANGLING( \ h5_getfileattribinfo, \ - h5_getfileattribinfo_, \ H5_GETFILEATTRIBINFO) h5_int64_t h5_getfileattribinfo ( @@ -73,9 +71,8 @@ h5_getfileattribinfo ( H5_API_RETURN (h5err); } -#define h5_getfileattribinfo_by_name F77_NAME( \ +#define h5_getfileattribinfo_by_name FC_MANGLING( \ h5_getfileattribinfo_by_name, \ - h5_getfileattribinfo_by_name_, \ H5_GETFILEATTRIBINFO_BY_NAME) h5_int64_t h5_getfileattribinfo_by_name ( @@ -145,9 +142,8 @@ read_file_attrib ( return herr; } -#define h5_writefileattrib_string F77_NAME ( \ +#define h5_writefileattrib_string FC_MANGLING ( \ h5_writefileattrib_string, \ - h5_writefileattrib_string_, \ H5_WRITEFILEATTRIB_STRING) h5_int64_t h5_writefileattrib_string ( @@ -168,9 +164,8 @@ h5_writefileattrib_string ( H5_API_RETURN (herr); } -#define h5_readfileattrib_string F77_NAME ( \ +#define h5_readfileattrib_string FC_MANGLING ( \ h5_readfileattrib_string, \ - h5_readfileattrib_string_, \ H5_READFILEATTRIB_STRING) h5_int64_t h5_readfileattrib_string ( @@ -189,9 +184,8 @@ h5_readfileattrib_string ( H5_API_RETURN (herr); } -#define h5_writefileattrib_r8 F77_NAME ( \ +#define h5_writefileattrib_r8 FC_MANGLING ( \ h5_writefileattrib_r8, \ - h5_writefileattrib_r8_, \ H5_WRITEFILEATTRIB_R8) h5_int64_t h5_writefileattrib_r8 ( @@ -212,9 +206,8 @@ h5_writefileattrib_r8 ( buffer, (hsize_t)*nelem)); } -#define h5_readfileattrib_r8 F77_NAME ( \ - h5_readfileattrib_r8, \ - h5_readfileattrib_r8_, \ +#define h5_readfileattrib_r8 FC_MANGLING ( \ + h5_readfileattrib_r8, \ H5_READFILEATTRIB_R8 ) h5_int64_t h5_readfileattrib_r8 ( @@ -234,9 +227,8 @@ h5_readfileattrib_r8 ( (void*)buffer)); } -#define h5_writefileattrib_r4 F77_NAME ( \ - h5_writefileattrib_r4, \ - h5_writefileattrib_r4_, \ +#define h5_writefileattrib_r4 FC_MANGLING ( \ + h5_writefileattrib_r4, \ H5_WRITEFILEATTRIB_R4 ) h5_int64_t h5_writefileattrib_r4 ( @@ -257,9 +249,8 @@ h5_writefileattrib_r4 ( buffer, (hsize_t)*nelem)); } -#define h5_readfileattrib_r4 F77_NAME ( \ - h5_readfileattrib_r4, \ - h5_readfileattrib_r4_, \ +#define h5_readfileattrib_r4 FC_MANGLING ( \ + h5_readfileattrib_r4, \ H5_READFILEATTRIB_R4 ) h5_int64_t h5_readfileattrib_r4 ( @@ -279,9 +270,8 @@ h5_readfileattrib_r4 ( buffer)); } -#define h5_writefileattrib_i8 F77_NAME ( \ +#define h5_writefileattrib_i8 FC_MANGLING ( \ h5_writefileattrib_i8, \ - h5_writefileattrib_i8_, \ H5_WRITEFILEATTRIB_I8) h5_int64_t h5_writefileattrib_i8 ( @@ -302,9 +292,8 @@ h5_writefileattrib_i8 ( buffer, (hsize_t)*nelem)); } -#define h5_readfileattrib_i8 F77_NAME ( \ - h5_readfileattrib_i8, \ - h5_readfileattrib_i8_, \ +#define h5_readfileattrib_i8 FC_MANGLING ( \ + h5_readfileattrib_i8, \ H5_READFILEATTRIB_I8 ) h5_int64_t h5_readfileattrib_i8 ( @@ -324,9 +313,8 @@ h5_readfileattrib_i8 ( buffer)); } -#define h5_writefileattrib_i4 F77_NAME ( \ +#define h5_writefileattrib_i4 FC_MANGLING ( \ h5_writefileattrib_i4, \ - h5_writefileattrib_i4_, \ H5_WRITEFILEATTRIB_I4 ) h5_int64_t h5_writefileattrib_i4 ( @@ -347,9 +335,8 @@ h5_writefileattrib_i4 ( buffer, (hsize_t)*nelem)); } -#define h5_readfileattrib_i4 F77_NAME ( \ +#define h5_readfileattrib_i4 FC_MANGLING ( \ h5_readfileattrib_i4, \ - h5_readfileattrib_i4_, \ H5_READFILEATTRIB_I4 ) h5_int64_t h5_readfileattrib_i4 ( @@ -383,9 +370,8 @@ h5_readfileattrib_i4 ( \__, |\__,_|\___|_| \__, | |_| |___/ */ -#define h5_getnstepattribs F77_NAME( \ +#define h5_getnstepattribs FC_MANGLING( \ h5_getnstepattribs, \ - h5_getnstepattribs_, \ H5_GETNSTEPATTRIBS) h5_int64_t h5_getnstepattribs ( @@ -398,10 +384,9 @@ h5_getnstepattribs ( H5_API_RETURN (h5_get_num_step_attribs (f)); } -#define h5_getstepattribinfo F77_NAME( \ - h5_getstepattribinfo, \ - h5_getstepattribinfo_, \ - H5_GETSTEPATTRIBINFO) +#define h5_getstepattribinfo FC_MANGLING( \ + h5_getstepattribinfo, \ + H5_GETSTEPATTRIBINFO) h5_int64_t h5_getstepattribinfo ( const h5_int64_t* fh, @@ -432,9 +417,8 @@ h5_getstepattribinfo ( H5_API_RETURN (h5err); } -#define h5_getstepattribinfo_by_name F77_NAME( \ +#define h5_getstepattribinfo_by_name FC_MANGLING( \ h5_getstepattribinfo_by_name, \ - h5_getstepattribinfo_by_name_, \ H5_GETSTEPATTRIBINFO_BY_NAME) h5_int64_t h5_getstepattribinfo_by_name ( @@ -506,9 +490,8 @@ read_step_attrib ( return herr; } -#define h5_writestepattrib_string F77_NAME ( \ +#define h5_writestepattrib_string FC_MANGLING ( \ h5_writestepattrib_string, \ - h5_writestepattrib_string_, \ H5_WRITESTEPATTRIB_STRING) h5_int64_t h5_writestepattrib_string ( @@ -529,9 +512,8 @@ h5_writestepattrib_string ( H5_API_RETURN (herr); } -#define h5_readstepattrib_string F77_NAME ( \ +#define h5_readstepattrib_string FC_MANGLING ( \ h5_readstepattrib_string, \ - h5_readstepattrib_string_, \ H5_READSTEPATTRIB_STRING) h5_int64_t h5_readstepattrib_string ( @@ -550,9 +532,8 @@ h5_readstepattrib_string ( H5_API_RETURN (herr); } -#define h5_writestepattrib_r8 F77_NAME ( \ +#define h5_writestepattrib_r8 FC_MANGLING ( \ h5_writestepattrib_r8, \ - h5_writestepattrib_r8_, \ H5_WRITESTEPATTRIB_R8) h5_int64_t h5_writestepattrib_r8 ( @@ -573,9 +554,8 @@ h5_writestepattrib_r8 ( buffer, (hsize_t)*nelem)); } -#define h5_readstepattrib_r8 F77_NAME ( \ - h5_readstepattrib_r8, \ - h5_readstepattrib_r8_, \ +#define h5_readstepattrib_r8 FC_MANGLING ( \ + h5_readstepattrib_r8, \ H5_READSTEPATTRIB_R8 ) h5_int64_t h5_readstepattrib_r8 ( @@ -595,9 +575,8 @@ h5_readstepattrib_r8 ( (void*)buffer)); } -#define h5_writestepattrib_r4 F77_NAME ( \ - h5_writestepattrib_r4, \ - h5_writestepattrib_r4_, \ +#define h5_writestepattrib_r4 FC_MANGLING ( \ + h5_writestepattrib_r4, \ H5_WRITESTEPATTRIB_R4 ) h5_int64_t h5_writestepattrib_r4 ( @@ -618,9 +597,8 @@ h5_writestepattrib_r4 ( buffer, (hsize_t)*nelem)); } -#define h5_readstepattrib_r4 F77_NAME ( \ - h5_readstepattrib_r4, \ - h5_readstepattrib_r4_, \ +#define h5_readstepattrib_r4 FC_MANGLING ( \ + h5_readstepattrib_r4, \ H5_READSTEPATTRIB_R4 ) h5_int64_t h5_readstepattrib_r4 ( @@ -640,9 +618,8 @@ h5_readstepattrib_r4 ( buffer)); } -#define h5_writestepattrib_i8 F77_NAME ( \ +#define h5_writestepattrib_i8 FC_MANGLING ( \ h5_writestepattrib_i8, \ - h5_writestepattrib_i8_, \ H5_WRITESTEPATTRIB_I8) h5_int64_t h5_writestepattrib_i8 ( @@ -663,9 +640,8 @@ h5_writestepattrib_i8 ( buffer, (hsize_t)*nelem)); } -#define h5_readstepattrib_i8 F77_NAME ( \ - h5_readstepattrib_i8, \ - h5_readstepattrib_i8_, \ +#define h5_readstepattrib_i8 FC_MANGLING ( \ + h5_readstepattrib_i8, \ H5_READSTEPATTRIB_I8 ) h5_int64_t h5_readstepattrib_i8 ( @@ -685,9 +661,8 @@ h5_readstepattrib_i8 ( buffer)); } -#define h5_writestepattrib_i4 F77_NAME ( \ +#define h5_writestepattrib_i4 FC_MANGLING ( \ h5_writestepattrib_i4, \ - h5_writestepattrib_i4_, \ H5_WRITESTEPATTRIB_I4 ) h5_int64_t h5_writestepattrib_i4 ( @@ -708,9 +683,8 @@ h5_writestepattrib_i4 ( buffer, (hsize_t)*nelem)); } -#define h5_readstepattrib_i4 F77_NAME ( \ +#define h5_readstepattrib_i4 FC_MANGLING ( \ h5_readstepattrib_i4, \ - h5_readstepattrib_i4_, \ H5_READSTEPATTRIB_I4 ) h5_int64_t h5_readstepattrib_i4 ( diff --git a/src/Fortran/H5_model.c b/src/Fortran/H5_model.c index 0de3817..0f7881c 100644 --- a/src/Fortran/H5_model.c +++ b/src/Fortran/H5_model.c @@ -15,9 +15,8 @@ /* H5hut data model */ -#define h5_hasstep F77_NAME( \ +#define h5_hasstep FC_MANGLING( \ h5_hasstep, \ - h5_hasstep_, \ H5_HASSTEP) int h5_hasstep ( @@ -33,9 +32,8 @@ h5_hasstep ( H5_API_RETURN (h5_has_step (fh, *stepno)); } -#define h5_setstep F77_NAME( \ +#define h5_setstep FC_MANGLING( \ h5_setstep, \ - h5_setstep_, \ H5_SETSTEP) h5_int64_t h5_setstep ( @@ -47,9 +45,8 @@ h5_setstep ( H5_API_RETURN (h5_set_step (fh, *step)); } -#define h5_getstep F77_NAME( \ +#define h5_getstep FC_MANGLING( \ h5_getstep, \ - h5_getstep_, \ H5_GETSTEP) h5_int64_t h5_getstep ( @@ -61,9 +58,8 @@ h5_getstep ( H5_API_RETURN (h5_get_step (fh) + 1); } -#define h5_getnsteps F77_NAME( \ +#define h5_getnsteps FC_MANGLING( \ h5_getnsteps, \ - h5_getnsteps_, \ H5_GETNSTEPS) h5_int64_t h5_getnsteps ( diff --git a/src/Fortran/h5_private.h b/src/Fortran/h5_private.h index 1c7b3ce..f53d688 100644 --- a/src/Fortran/h5_private.h +++ b/src/Fortran/h5_private.h @@ -17,14 +17,20 @@ #include "Underscore.h" -#if defined(F77_NO_UNDERSCORE) -#define F77_NAME(a,b,c) a -#elif defined(F77_SINGLE_UNDERSCORE) -#define F77_NAME(a,b,c) b -#elif defined(F77_CRAY_UNDERSCORE) -#define F77_NAME(a,b,c) c +#if defined(FC_MANGLING_LOWERCASE_NO_UNDERSCORE) +# define FC_MANGLING(a,b) a +#elif defined(FC_MANGLING_LOWERCASE_SINGLE_UNDERSCORE) +# define FC_MANGLING(a,b) a ## _ +#elif defined(FC_MANGLING_LOWERCASE_DOUBLE_UNDERSCORE) +# define FC_MANGLING(a,b) a ## __ +#elif defined(FC_MANGLING_UPPERCASE_NO_UNDERSCORE) +# define FC_MANGLING(a,b) b +#elif defined(FC_MANGLING_UPPERCASE_SINGLE_UNDERSCORE) +# define FC_MANGLING(a,b) b ## _ +#elif defined(FC_MANGLING_UPPERCASE_DOUBLE_UNDERSCORE) +# define FC_MANGLING(a,b) b ## __ #else -#error Error, no way to determine how to construct fortran bindings +# error "Unknown Fortran symbol mangling" #endif #define convert_type2for(type) \