forked from andreww/fox
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Configure script checks for associated bug
- Loading branch information
Toby White
committed
Mar 19, 2008
1 parent
9a541e2
commit fabf9c0
Showing
7 changed files
with
258 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,6 +42,87 @@ dnl to the GPL from your modified version. | |
dnl | ||
dnl Copyright Toby White <[email protected]> 2004-2006 | ||
|
||
dnl @synopsis TW_CHECK_ASSOCIATED_BUG([ACTION_IF_TRUE],[ACTION_IF_FALSE]) | ||
dnl | ||
dnl Checks whether the currently selected Fortran compiler has a bug | ||
dnl forbidding the use of ASSOCIATED in restricted expressions | ||
dnl (versions of gfortran, pathscale & xlf have been found which do) | ||
dnl | ||
dnl | ||
dnl @version 1.0 | ||
dnl @author <[email protected]> | ||
dnl | ||
AC_DEFUN([TW_CHECK_ASSOCIATED_BUG],[ | ||
dnl | ||
AC_MSG_CHECKING([for ASSOCIATED in restricted expression bug]) | ||
dnl | ||
AC_LANG_PUSH(Fortran) | ||
dnl | ||
AC_COMPILE_IFELSE( | ||
dnl The program is written in fixed-form source to avoid worrying | ||
dnl about filename extensions. | ||
AC_LANG_SOURCE([[ | ||
function test_bug(a) result(b) | ||
integer, pointer :: a | ||
integer, dimension(merge(1, 2, associated(a))) :: b | ||
b = 0 | ||
end function test_bug | ||
]]), | ||
[AC_MSG_RESULT([no]) | ||
m4_default([$1],[:]) | ||
], | ||
[AC_MSG_RESULT([yes]) | ||
m4_default([$2],[:] | ||
[AC_MSG_ERROR([This Fortran compiler does not understand ASSOCIATED in restricted expressions.])]) | ||
] | ||
) | ||
AC_LANG_POP(Fortran) | ||
dnl | ||
]) | ||
dnl This program is free software; you can redistribute it and/or modify | ||
dnl it under the terms of the GNU General Public License as published by | ||
dnl the Free Software Foundation; either version 2, or (at your option) | ||
dnl any later version. | ||
dnl | ||
dnl This program is distributed in the hope that it will be useful, | ||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
dnl GNU General Public License for more details. | ||
dnl | ||
dnl You should have received a copy of the GNU General Public License | ||
dnl along with this program; if not, write to the Free Software | ||
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
dnl 02111-1307, USA. | ||
dnl | ||
dnl As a special exception, the Free Software Foundation gives unlimited | ||
dnl permission to copy, distribute and modify the configure scripts that | ||
dnl are the output of Autoconf. You need not follow the terms of the GNU | ||
dnl General Public License when using or distributing such scripts, even | ||
dnl though portions of the text of Autoconf appear in them. The GNU | ||
dnl General Public License (GPL) does govern all other use of the material | ||
dnl that constitutes the Autoconf program. | ||
dnl | ||
dnl Certain portions of the Autoconf source text are designed to be copied | ||
dnl (in certain cases, depending on the input) into the output of | ||
dnl Autoconf. We call these the "data" portions. The rest of the Autoconf | ||
dnl source text consists of comments plus executable code that decides which | ||
dnl of the data portions to output in any given case. We call these | ||
dnl comments and executable code the "non-data" portions. Autoconf never | ||
dnl copies any of the non-data portions into its output. | ||
dnl | ||
dnl This special exception to the GPL applies to versions of Autoconf | ||
dnl released by the Free Software Foundation. When you make and | ||
dnl distribute a modified version of Autoconf, you may extend this special | ||
dnl exception to the GPL to apply to your modified version as well, *unless* | ||
dnl your modified version has the potential to copy into its output some | ||
dnl of the text that was the non-data portion of the version that you started | ||
dnl with. (In other words, unless your change moves or copies text from | ||
dnl the non-data portions to the data portions.) If your modification has | ||
dnl such potential, you must delete any notice of this special exception | ||
dnl to the GPL from your modified version. | ||
dnl | ||
dnl Copyright Toby White <[email protected]> 2004-2006 | ||
|
||
dnl @synopsis TW_CHECK_FC_90([ACTION_IF_TRUE],[ACTION_IF_FALSE]) | ||
dnl | ||
dnl Checks whether the currently selected Fortran compiler is fully | ||
|
@@ -1024,7 +1105,6 @@ case $FC_ID in | |
;; | ||
Pathscale) | ||
DEFS="$DEFS RESTRICTED_ASSOCIATED_BUG" | ||
;; | ||
Portland) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
AC_INIT([FoX],[3.2.0],[[email protected]]) | ||
AC_INIT([FoX],[3.1.2],[[email protected]]) | ||
AC_CONFIG_SRCDIR([README.FoX.txt]) | ||
dnl | ||
dnl Find system type. | ||
|
@@ -145,6 +145,9 @@ dnl Check whether we need to pass a flag to get at the flush intrinsic. | |
TW_FC_CHECK_FLUSH([],[AC_MSG_RESULT([cannot compile call to FLUSH])]) | ||
TW_FC_CHECK_ABORT([],[AC_MSG_RESULT([cannot compile call to ABORT])]) | ||
dnl | ||
dnl Check for compiler problems | ||
TW_CHECK_ASSOCIATED_BUG([], [DEFS="$DEFS RESTRICTED_ASSOCIATED_BUG"]) | ||
dnl | ||
dnl Fix up DEFS -> FPPFLAGS conversion. | ||
for i in $DEFS; do | ||
FPPFLAGS="$FPPFLAGS $FPPFLAGS_DEF$i" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
dnl This program is free software; you can redistribute it and/or modify | ||
dnl it under the terms of the GNU General Public License as published by | ||
dnl the Free Software Foundation; either version 2, or (at your option) | ||
dnl any later version. | ||
dnl | ||
dnl This program is distributed in the hope that it will be useful, | ||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
dnl GNU General Public License for more details. | ||
dnl | ||
dnl You should have received a copy of the GNU General Public License | ||
dnl along with this program; if not, write to the Free Software | ||
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||
dnl 02111-1307, USA. | ||
dnl | ||
dnl As a special exception, the Free Software Foundation gives unlimited | ||
dnl permission to copy, distribute and modify the configure scripts that | ||
dnl are the output of Autoconf. You need not follow the terms of the GNU | ||
dnl General Public License when using or distributing such scripts, even | ||
dnl though portions of the text of Autoconf appear in them. The GNU | ||
dnl General Public License (GPL) does govern all other use of the material | ||
dnl that constitutes the Autoconf program. | ||
dnl | ||
dnl Certain portions of the Autoconf source text are designed to be copied | ||
dnl (in certain cases, depending on the input) into the output of | ||
dnl Autoconf. We call these the "data" portions. The rest of the Autoconf | ||
dnl source text consists of comments plus executable code that decides which | ||
dnl of the data portions to output in any given case. We call these | ||
dnl comments and executable code the "non-data" portions. Autoconf never | ||
dnl copies any of the non-data portions into its output. | ||
dnl | ||
dnl This special exception to the GPL applies to versions of Autoconf | ||
dnl released by the Free Software Foundation. When you make and | ||
dnl distribute a modified version of Autoconf, you may extend this special | ||
dnl exception to the GPL to apply to your modified version as well, *unless* | ||
dnl your modified version has the potential to copy into its output some | ||
dnl of the text that was the non-data portion of the version that you started | ||
dnl with. (In other words, unless your change moves or copies text from | ||
dnl the non-data portions to the data portions.) If your modification has | ||
dnl such potential, you must delete any notice of this special exception | ||
dnl to the GPL from your modified version. | ||
dnl | ||
dnl Copyright Toby White <[email protected]> 2004-2006 | ||
|
||
dnl @synopsis TW_CHECK_ASSOCIATED_BUG([ACTION_IF_TRUE],[ACTION_IF_FALSE]) | ||
dnl | ||
dnl Checks whether the currently selected Fortran compiler has a bug | ||
dnl forbidding the use of ASSOCIATED in restricted expressions | ||
dnl (versions of gfortran, pathscale & xlf have been found which do) | ||
dnl | ||
dnl | ||
dnl @version 1.0 | ||
dnl @author <[email protected]> | ||
dnl | ||
AC_DEFUN([TW_CHECK_ASSOCIATED_BUG],[ | ||
dnl | ||
AC_MSG_CHECKING([for ASSOCIATED in restricted expression bug]) | ||
dnl | ||
AC_LANG_PUSH(Fortran) | ||
dnl | ||
AC_COMPILE_IFELSE( | ||
dnl The program is written in fixed-form source to avoid worrying | ||
dnl about filename extensions. | ||
AC_LANG_SOURCE([[ | ||
function test_bug(a) result(b) | ||
integer, pointer :: a | ||
integer, dimension(merge(1, 2, associated(a))) :: b | ||
b = 0 | ||
end function test_bug | ||
]]), | ||
[AC_MSG_RESULT([no]) | ||
m4_default([$1],[:]) | ||
], | ||
[AC_MSG_RESULT([yes]) | ||
m4_default([$2],[:] | ||
[AC_MSG_ERROR([This Fortran compiler does not understand ASSOCIATED in restricted expressions.])]) | ||
] | ||
) | ||
AC_LANG_POP(Fortran) | ||
dnl | ||
]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -85,7 +85,6 @@ case $FC_ID in | |
;; | ||
Pathscale) | ||
DEFS="$DEFS RESTRICTED_ASSOCIATED_BUG" | ||
;; | ||
Portland) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.