[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNU Autoconf 2.69] testsuite: 307 308 failed
From: |
Eric Bavier |
Subject: |
[GNU Autoconf 2.69] testsuite: 307 308 failed |
Date: |
Tue, 08 Apr 2014 16:53:10 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) |
I've attached the testlog from `make check` for autoconf-2.69 as
compiled on a Cray XC system. It seems that in test 307 the Cray
Fortran compiler is incorrectly recognized as the GNU Fortran 77
compiler.
I believe the reason for this is that the Cray compilers, for better or
for worse, define the __GNUC__ macro internally, and this seems to be
the only check that is performed in _AC_LANG_COMPILER_GNU (lang.m4:345).
Unfortunately, it looks like the Cray compilers also define
__GNUC_MINOR__, __GNUC_PATCHLEVEL__, and __GFORTRAN__, so those can't be
used to distinguish the Cray compiler either. The only thing I could
think to distinguish the Cray C/C++ and Cray Fortran compilers from the
GNU compilers is to check that some other cray-specific macros are not
defined. The Cray C/C++ compilers define _CRAYC and the Cray Fortran
compiler defines _CRAYFTN. It looks like __COUNTER__ is only defined by
the GNU compilers though, so maybe that would be enough of a check (I've
attached a patch that makes that change).
Any feedback would be welcome.
--
`~Eric
testsuite.log
Description: Binary data
--- lib/autoconf/lang.m4~ 2012-01-21 07:46:39.000000000 -0600
+++ lib/autoconf/lang.m4 2014-04-08 16:48:16.000259000 -0500
@@ -345,7 +345,7 @@
m4_define([_AC_LANG_COMPILER_GNU],
[AC_CACHE_CHECK([whether we are using the GNU _AC_LANG compiler],
[ac_cv_[]_AC_LANG_ABBREV[]_compiler_gnu],
-[_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef __GNUC__
+[_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#if !(defined(__GNUC__) &&
defined(__COUNTER__))
choke me
#endif
]])],
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNU Autoconf 2.69] testsuite: 307 308 failed,
Eric Bavier <=