From b4d68c731a19090f4fc7ba1843975a4b44059600 Mon Sep 17 00:00:00 2001
From: wang_yue111 <648774160@qq.com>
Date: Wed, 4 Aug 2021 17:56:37 +0800
Subject: [PATCH] 3

---
 test/mpi/configure | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

diff --git a/test/mpi/configure b/test/mpi/configure
index e31f966..9f056de 100755
--- a/test/mpi/configure
+++ b/test/mpi/configure
@@ -9715,7 +9715,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 	# The best solution is to turn off errors on particular routines
 	# if that isn't possible (e.g., too many of them), then
 	# just try arguments that turn off all checking
-	for flags in  "-mismatch" ; do
+	for flags in  "-fallow-argument-mismatch" "-mismatch" ; do
             testok=no
             FFLAGS="$FFLAGS $flags"
             cat > conftest.$ac_ext <<_ACEOF
@@ -9757,18 +9757,7 @@ the same routine with arguments of different types." "$LINENO" 5
 fi
 
 addarg=$pac_cv_prog_f77_mismatched_args_parm
-
-    if test "X$addarg" != "X" ; then
-        # We could add the names of all of the MPI routines that
-        # accept different types.  Instead, we fail cleanly.
-        # Some Fortran compilers allow you to turn off checking for
-        # mismatched arguments for *all* routines.  Adding an argument
-	# that turns off checking for *everything* is not something that
-	# configure should do - if the user wants this, they can follow
-	# the instructions in the following error message.
-	as_fn_error $? "The Fortran compiler $F77 does not accept programs that call the same routine with arguments of different types without the option $addarg.  Rerun configure with FFLAGS=$addarg" "$LINENO" 5
-    fi
-
+FFLAGS="$FFLAGS $addarg"
     # Check whether we need -lU77 to get iargc and getarg, which
     # are used for a few of the tests in spawn (U77 was needed with
     # the native compilers on HPUX.  See the aclocal_f77(old).m4 file,
-- 
2.23.0

