[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