Treat LLVM Flang as GNU-compatible compiler for GNU targets.

--- autoconf-2.71/lib/autoconf/fortran.m4.orig	2021-01-28 21:46:48.000000000 +0100
+++ autoconf-2.71/lib/autoconf/fortran.m4	2024-10-30 13:24:17.360461800 +0100
@@ -286,6 +286,46 @@
 	 [m4_fatal([unknown Fortran dialect])])])
 
 
+# _AC_FC_COMPILER_GNU
+# ---------------------
+# Check whether the compiler for the current language is GNU.
+#
+# This is similar to _AC_LANG_COMPILER_GNU.  But also considers LLVM Flang
+# a GNU-compatible compiler.  Pay attention to the fact that the position
+# of 'choke me' on the seventh column is intentional: otherwise
+# some Fortran compilers (e.g., SGI) might consider it's a
+# continuation line, and warn instead of reporting an error.
+m4_define([_AC_FC_COMPILER_GNU],
+[AC_CACHE_CHECK([whether the compiler supports GNU _AC_LANG],
+		[ac_cv_[]_AC_LANG_ABBREV[]_compiler_gnu],
+		[_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef __GNUC__
+       choke me
+#endif
+]])],
+		  [ac_compiler_gnu=yes],
+		  [_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef __flang__
+       choke me
+#endif
+]])],
+		    [case `$[]_AC_FC[] $[]_AC_LANG_PREFIX[]FLAGS --print-target-triple < /dev/null 2>&1` in
+		      *mingw*|*-gnu)
+		        ac_compiler_gnu=yes
+		        ;;
+		      *-msvc)
+		        ac_compiler_gnu=no
+		        ;;
+		      *)
+		        ## assume Flang is GNU-compatible by default
+		        ac_compiler_gnu=yes
+		        ;;
+		    esac],
+		    [ac_compiler_gnu=no])])
+ac_cv_[]_AC_LANG_ABBREV[]_compiler_gnu=$ac_compiler_gnu
+])
+ac_compiler_gnu=$ac_cv_[]_AC_LANG_ABBREV[]_compiler_gnu
+])# _AC_FC_COMPILER_GNU
+
+
 # _AC_PROG_FC([DIALECT], [COMPILERS...])
 # --------------------------------------
 # DIALECT is a Fortran dialect, given by Fortran [YY]YY or simply [YY]YY,
@@ -346,7 +386,7 @@
 # input file.  (Note that this only needs to work for GNU compilers.)
 ac_save_ext=$ac_ext
 ac_ext=F
-_AC_LANG_COMPILER_GNU
+_AC_FC_COMPILER_GNU
 ac_ext=$ac_save_ext
 _AC_PROG_FC_G
 ])# _AC_PROG_FC
