Index: aclocal.m4 =================================================================== --- aclocal.m4 (revision 2089) +++ aclocal.m4 (working copy) @@ -1504,7 +1504,16 @@ parameter (nf_fill_uint = 4294967295_8) parameter (nf_fill_int64 = -9223372036854775806_8) end program]], - [ac_cv_fc_constant_modifier=yes]) + [ac_cv_fc_constant_modifier=8], + AC_COMPILE_IFELSE([[ + program main + integer,parameter :: EightByteInt = selected_int_kind(18) + integer*8 nf_fill_uint + integer*8 nf_fill_int64 + parameter (nf_fill_uint = 4294967295_EightByteInt) + parameter (nf_fill_int64 = -9223372036854775806_EightByteInt) + end program]], + [ac_cv_fc_constant_modifier=EightByteInt])) ]) AC_LANG_POP([Fortran 77]) ]) Index: configure.in =================================================================== --- configure.in (revision 2089) +++ configure.in (working copy) @@ -537,15 +537,20 @@ UD_FC_CONSTANT_MODIFIER UD_MSG_DEBUG([ac_cv_fc_constant_modifier=$ac_cv_fc_constant_modifier]) + PNF_INT_MODIFIER="" if test "x${ac_cv_fc_constant_modifier}" = xno ; then PNF_FILL_UINT=4294967295 PNF_FILL_INT64=-9223372036854775806 PNF_FILL_UINT64=18446744073709551614 else - PNF_FILL_UINT=4294967295_8 - PNF_FILL_INT64=-9223372036854775806_8 - PNF_FILL_UINT64=18446744073709551614_8 + if test "x${ac_cv_fc_constant_modifier}" = xEightByteInt ; then + PNF_INT_MODIFIER=" integer,parameter :: EightByteInt = selected_int_kind(18)" + fi + PNF_FILL_UINT=4294967295_${ac_cv_fc_constant_modifier} + PNF_FILL_INT64=-9223372036854775806_${ac_cv_fc_constant_modifier} + PNF_FILL_UINT64=18446744073709551614_${ac_cv_fc_constant_modifier} fi + AC_SUBST(PNF_INT_MODIFIER) AC_SUBST(PNF_FILL_UINT) AC_SUBST(PNF_FILL_INT64) AC_SUBST(PNF_FILL_UINT64) Index: src/libf/pnetcdf.inc.in =================================================================== --- src/libf/pnetcdf.inc.in (revision 2089) +++ src/libf/pnetcdf.inc.in (working copy) @@ -76,6 +76,7 @@ parameter (nf_fill_double = 9.9692099683868690e+36) parameter (nf_fill_ubyte = 255) parameter (nf_fill_ushort = 65535) + @PNF_INT_MODIFIER@ parameter (nf_fill_uint = @PNF_FILL_UINT@) parameter (nf_fill_int64 = @PNF_FILL_INT64@) ! parameter (nf_fill_uint64 = @PNF_FILL_UINT64@) ! currently not supported