Skip to content

Commit a0fb13f

Browse files
committed
Check MPI_Offset type whether is long long or long, define OFFFMT accordingly
1 parent cd89d8a commit a0fb13f

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

configure.ac

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1284,6 +1284,47 @@ if test "$ac_cv_sizeof_MPI_Offset" -lt "8"; then
12841284
-----------------------------------------------------------------------])
12851285
fi
12861286

1287+
MPI_OFFSET_FMT="%lld"
1288+
if test "x$GCC" = xyes ; then
1289+
# check if MPI_Offset is long long int or long int.
1290+
AC_MSG_CHECKING([MPI_Offset type])
1291+
saved_CFLAGS=$CFLAGS
1292+
MPI_Offset_type="unknown"
1293+
CFLAGS="$CFLAGS -Werror=format"
1294+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
1295+
#include <mpi.h>]],
1296+
[[printf("%lld\n", (MPI_Offset)1);]])],
1297+
[MPI_Offset_is_long_long=yes],
1298+
[MPI_Offset_is_long_long=no])
1299+
if test $MPI_Offset_is_long_long = no ; then
1300+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
1301+
#include <mpi.h>]],
1302+
[[printf("%ld\n", (MPI_Offset)1);]])],
1303+
[MPI_Offset_is_long=yes],
1304+
[MPI_Offset_is_long=no])
1305+
if test $MPI_Offset_is_long = no ; then
1306+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
1307+
#include <mpi.h>]],
1308+
[[printf("%d\n", (MPI_Offset)1);]])],
1309+
[MPI_Offset_is_int=yes],
1310+
[MPI_Offset_is_int=no])
1311+
if test $MPI_Offset_is_int = yes ; then
1312+
MPI_Offset_type="int"
1313+
MPI_OFFSET_FMT="%d"
1314+
fi
1315+
else
1316+
MPI_Offset_type="long"
1317+
MPI_OFFSET_FMT="%ld"
1318+
fi
1319+
else
1320+
MPI_Offset_type="long long"
1321+
MPI_OFFSET_FMT="%lld"
1322+
fi
1323+
AC_MSG_RESULT([$MPI_Offset_type])
1324+
CFLAGS=$saved_CFLAGS
1325+
fi
1326+
AC_DEFINE_UNQUOTED([OFFFMT], ["$MPI_OFFSET_FMT"], [MPI_Offset printf format])
1327+
12871328
AC_CHECK_SIZEOF([MPI_Aint], [], [#include <mpi.h>])
12881329
AM_CONDITIONAL(SIZEOF_MPI_AINT_IS_4, [test x$ac_cv_sizeof_MPI_Aint = x4])
12891330

0 commit comments

Comments
 (0)