[mpich2-commits] r7918 - in mpich2/trunk: confdb test/mpi
chan at mcs.anl.gov
chan at mcs.anl.gov
Fri Feb 4 19:19:00 CST 2011
Author: chan
Date: 2011-02-04 19:19:00 -0600 (Fri, 04 Feb 2011)
New Revision: 7918
Modified:
mpich2/trunk/confdb/aclocal_f77.m4
mpich2/trunk/confdb/aclocal_fc.m4
mpich2/trunk/test/mpi/configure.in
Log:
fixed bug introduced in r7902 that leave out setting FFLAGS/FCFLAGS with cray-pointer flags if available. Define a CRAYPTR_FFLAGS/FCFLAGS so user of the macros can choose to update FFLAGS/FCFLAGS with CRAYPTR_*FLAGS if necessary (instead update FFLAGS/FCFLAGS silently by the macros)
Modified: mpich2/trunk/confdb/aclocal_f77.m4
===================================================================
--- mpich2/trunk/confdb/aclocal_f77.m4 2011-02-04 23:39:14 UTC (rev 7917)
+++ mpich2/trunk/confdb/aclocal_f77.m4 2011-02-05 01:19:00 UTC (rev 7918)
@@ -1222,12 +1222,17 @@
])
dnl
dnl /*D
-dnl PAC_PROG_F77_HAS_POINTER - Check Fortran 77 supports Cray-style pointer
+dnl PAC_PROG_F77_CRAY_POINTER - Check if Fortran 77 supports Cray-style pointer.
+dnl If so, set pac_cv_prog_f77_has_pointer to yes
+dnl and find out if any extra compiler flag is
+dnl needed and set it as CRAYPTR_FFLAGS.
+dnl i.e. CRAYPTR_FFLAGS is meaningful only if
+dnl pac_cv_prog_f77_has_pointer = yes.
dnl
dnl Synopsis:
-dnl PAC_PROG_F77_HAS_POINTER(action-if-true,action-if-false)
+dnl PAC_PROG_F77_CRAY_POINTER([action-if-true],[action-if-false])
dnl D*/
-AC_DEFUN([PAC_PROG_F77_HAS_POINTER],[
+AC_DEFUN([PAC_PROG_F77_CRAY_POINTER],[
AC_CACHE_CHECK([whether Fortran 77 supports Cray-style pointer],
pac_cv_prog_f77_has_pointer,[
AC_LANG_PUSH([Fortran 77])
@@ -1239,22 +1244,31 @@
])
])
saved_FFLAGS="$FFLAGS"
-pac_cv_prog_f77_has_pointer=""
+pac_cv_prog_f77_has_pointer=no
+CRAYPTR_FFLAGS=""
for ptrflag in '' '-fcray-pointer' ; do
FFLAGS="$saved_FFLAGS $ptrflag"
- AC_COMPILE_IFELSE([], [pac_cv_prog_f77_has_pointer="yes";break], [])
+ AC_COMPILE_IFELSE([], [
+ pac_cv_prog_f77_has_pointer=yes
+ CRAYPTR_FFLAGS="$ptrflag"
+ break
+ ])
done
-if test "$pac_cv_prog_f77_has_pointer" = "yes" -a "X$ptrflag" != "X" ; then
- pac_cv_prog_f77_has_pointer="with $ptrflag"
-fi
+dnl Restore FFLAGS first, since user may not want to modify FFLAGS
FFLAGS="$saved_FFLAGS"
dnl remove conftest after ac_lang_conftest
rm -f conftest.$ac_ext
AC_LANG_POP([Fortran 77])
])
-if test "X$pac_cv_prog_f77_has_pointer" != "X" ; then
- ifelse([$1],,:,[$1])
+if test "$pac_cv_prog_f77_has_pointer" = "yes" ; then
+ AC_MSG_CHECKING([for Fortran 77 compiler flag for Cray-style pointer])
+ if test "X$CRAYPTR_FFLAGS" != "X" ; then
+ AC_MSG_RESULT([$CRAYPTR_FFLAGS])
+ else
+ AC_MSG_RESULT([none])
+ fi
+ ifelse([$1],[],[:],[$1])
else
- ifelse([$2],,:,[$2])
+ ifelse([$2],[],[:],[$2])
fi
])
Modified: mpich2/trunk/confdb/aclocal_fc.m4
===================================================================
--- mpich2/trunk/confdb/aclocal_fc.m4 2011-02-04 23:39:14 UTC (rev 7917)
+++ mpich2/trunk/confdb/aclocal_fc.m4 2011-02-05 01:19:00 UTC (rev 7918)
@@ -411,12 +411,17 @@
dnl
dnl
dnl /*D
-dnl PAC_PROG_FC_HAS_POINTER - Determine if Fortran allows pointer type
+dnl PAC_PROG_FC_CRAY_POINTER - Check if Fortran supports Cray-style pointer.
+dnl If so, set pac_cv_prog_fc_has_pointer to yes
+dnl and find out if any extra compiler flag is
+dnl needed and set it as CRAYPTR_FCFLAGS.
+dnl i.e. CRAYPTR_FCFLAGS is meaningful only if
+dnl pac_cv_prog_fc_has_pointer = yes.
dnl
dnl Synopsis:
-dnl PAC_PROG_FC_HAS_POINTER(action-if-true,action-if-false)
+dnl PAC_PROG_FC_CRAY_POINTER([action-if-true],[action-if-false])
dnl D*/
-AC_DEFUN([PAC_PROG_FC_HAS_POINTER],[
+AC_DEFUN([PAC_PROG_FC_CRAY_POINTER],[
AC_CACHE_CHECK([whether Fortran 90 supports Cray-style pointer],
pac_cv_prog_fc_has_pointer,[
AC_LANG_PUSH([Fortran])
@@ -428,23 +433,32 @@
])
])
saved_FCFLAGS="$FCFLAGS"
-pac_cv_prog_fc_has_pointer=""
+pac_cv_prog_fc_has_pointer=no
+CRAYPTR_FCFLAGS=""
for ptrflag in '' '-fcray-pointer' ; do
FCFLAGS="$saved_FCFLAGS $ptrflag"
- AC_COMPILE_IFELSE([], [pac_cv_prog_fc_has_pointer="yes";break], [])
+ AC_COMPILE_IFELSE([],[
+ pac_cv_prog_fc_has_pointer=yes
+ CRAYPTR_FCFLAGS="$ptrflag"
+ break
+ ])
done
-if test "$pac_cv_prog_fc_has_pointer" = "yes" -a "X$ptrflag" != "X" ; then
- pac_cv_prog_fc_has_pointer="with $ptrflag"
-fi
+dnl Restore FCFLAGS first, since user may not want to modify FCFLAGS
FCFLAGS="$saved_FCFLAGS"
dnl remove conftest after ac_lang_conftest
rm -f conftest.$ac_ext
AC_LANG_POP([Fortran])
])
-if test "X$pac_cv_prog_fc_has_pointer" != "X" ; then
- ifelse([$1],,:,[$1])
+if test "$pac_cv_prog_fc_has_pointer" = "yes" ; then
+ AC_MSG_CHECKING([for Fortran 90 compiler flag for Cray-style pointer])
+ if test "X$CRAYPTR_FCFLAGS" != "X" ; then
+ AC_MSG_RESULT([$CRAYPTR_FCFLAGS])
+ else
+ AC_MSG_RESULT([none])
+ fi
+ ifelse([$1],[],[:],[$1])
else
- ifelse([$2],,:,[$2])
+ ifelse([$2],[],[:],[$2])
fi
])
dnl
Modified: mpich2/trunk/test/mpi/configure.in
===================================================================
--- mpich2/trunk/test/mpi/configure.in 2011-02-04 23:39:14 UTC (rev 7917)
+++ mpich2/trunk/test/mpi/configure.in 2011-02-05 01:19:00 UTC (rev 7918)
@@ -674,7 +674,10 @@
# ALLOCMEMF is set in f77/ext/testlist if we can try this
# Fortran extension
ALLOCMEMF=""
- PAC_PROG_F77_HAS_POINTER(ALLOCMEMF="allocmemf 1")
+ PAC_PROG_F77_CRAY_POINTER([
+ ALLOCMEMF="allocmemf 1"
+ FFLAGS="$FFLAGS $CRAYPTR_FFLAGS"
+ ])
AC_SUBST(ALLOCMEMF)
# See the f90 block of code for the Fortran 90 version of ALLOCMEMF,
# i.e. ALLOCMEMFC.
@@ -745,7 +748,10 @@
# See if the compiler supports the Cray-style pointers
ALLOCMEMFC=""
- PAC_PROG_FC_HAS_POINTER(ALLOCMEMFC="allocmemf90 1")
+ PAC_PROG_FC_CRAY_POINTER([
+ ALLOCMEMFC="allocmemf90 1"
+ FCFLAGS="$FCFLAGS $CRAYPTR_FCFLAGS"
+ ])
AC_SUBST(ALLOCMEMFC)
if test -f f77/init/checksizes.c ; then
More information about the mpich2-commits
mailing list