From 397eba21b125a2cb99624d15ce2bc51100691321 Mon Sep 17 00:00:00 2001
From: wang_yue111 <648774160@qq.com>
Date: Wed, 4 Aug 2021 17:32:50 +0800
Subject: [PATCH] 2

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

diff --git a/configure b/configure
index 583cb7e..7ac0246 100755
--- a/configure
+++ b/configure
@@ -33762,7 +33762,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
@@ -33804,18 +33804,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"
     bindings="$bindings f77"
 
 $as_echo "#define HAVE_FORTRAN_BINDING 1" >>confdefs.h
-- 
2.23.0

