autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Pathscale Fortran compiler (was: testing of CVS Autoconf)


From: Ralf Wildenhues
Subject: Pathscale Fortran compiler (was: testing of CVS Autoconf)
Date: Thu, 16 Mar 2006 17:05:34 +0100
User-agent: Mutt/1.5.11

* Noah Misch wrote on Wed, Mar 15, 2006 at 05:10:58PM CET:
> On Wed, Mar 15, 2006 at 06:06:30AM +0100, Ralf Wildenhues wrote:
> > x86_64-unknown-linux-gnu
> >     with Pathscale compiler has two failures:
> >     110: GNU Fortran 77
> >     111: GNU Fortran
> >     because the compiler tricks configure into thinking it's the GNU
> >     compiler, but actually has a different flag for free-form.
> >     Probably safest to fix the test rather than the macro?
> 
> The testsuite.log fragment would be instructive, but that sounds right.

Of course.  Sorry about that.

And yes, that free-form reason only applies to the second test.  The
first fails, because `pathf90 --version' outputs on stderr, not stdout.

I am really unsure about a proper fix in both cases: Pathscale seems to
go to great lengths to imitate GCC.  If you want the Intel analogy:
Autoconf does not use `-no_gcc' to detect the Intel C/C++ compiler
either.  And anyway an arms race is not very helpful.  We could `2>&1'
in the one test, and accept `-freeform' in the other.  Thoughts?

Cheers,
Ralf

| #                             -*- compilation -*-
| 110. fortran.at:52: testing ...
| ../../autoconf-2.59c/tests/fortran.at:52: autoconf --force -W obsolete
| ../../autoconf-2.59c/tests/fortran.at:52: /bin/sh -n configure
| ../../autoconf-2.59c/tests/fortran.at:52: autoheader 
| ../../autoconf-2.59c/tests/fortran.at:52: top_srcdir=$abs_top_srcdir 
./configure -C
| --- /dev/null 2006-03-02 03:11:23.215382864 -0500
| +++ /tmp/build/tests/testsuite.dir/at-stderr  2006-03-06 08:39:29.000000000 
-0500
| @@ -0,0 +1 @@
| +configure: error: incorrectly recognized a GNU Fortran 77 compiler
| stdout:
| configure: creating cache config.cache
| checking for Fortran 77 compiler default output file name... a.out
| checking whether the Fortran 77 compiler works... yes
| checking whether we are cross compiling... no
| checking for suffix of executables... 
| checking for suffix of object files... o
| checking whether we are using the GNU Fortran 77 compiler... yes
| checking whether pathf90 accepts -g... yes
| ../../autoconf-2.59c/tests/fortran.at:52: exit code was 1, expected 0
| config.log:
*snip*

| > ## ----------- ##
| > ## Core tests. ##
| > ## ----------- ##
| > 
| > configure:1504: creating cache config.cache
| > configure:1723: checking for Fortran 77 compiler version
| > configure:1725: pathf90 --version >&5
| > PathScale EKOPath(TM) Compiler Suite: Version 2.3
| > Built on: 2005-11-10 18:26:15 -0800
| > Thread model: posix
| > GNU gcc version 3.3.1 (PathScale 2.3 driver)
| > 
| > Copyright 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
| > Copyright 2002, 2003, 2004, 2005 PathScale, Inc.  All Rights Reserved.
| > See complete copyright, patent and legal notices in the
| > /opt/pathscale/share/doc/pathscale-compilers-2.3/LEGAL.pdf file.
| > configure:1728: $? = 0
| > configure:1730: pathf90 -v >&5
| > PathScale EKOPath(TM) Compiler Suite: Version 2.3
| > Built on: 2005-11-10 18:26:15 -0800
| > Thread model: posix
| > GNU gcc version 3.3.1 (PathScale 2.3 driver)
| > configure:1733: $? = 0
| > configure:1735: pathf90 -V >&5
| > pathf90 WARNING: -V is ignored
| > pathf90: no input files
| > For general help: pathf90 --help
| > To search help: pathf90 -help:<string>
| > configure:1738: $? = 1
| > configure:1752: checking for Fortran 77 compiler default output file name
| > configure:1774: pathf90   conftest.f  >&5
| > configure:1777: $? = 0
| > configure:1815: result: a.out
| > configure:1820: checking whether the Fortran 77 compiler works
| > configure:1826: ./a.out
| > configure:1829: $? = 0
| > configure:1846: result: yes
| > configure:1853: checking whether we are cross compiling
| > configure:1855: result: no
| > configure:1858: checking for suffix of executables
| > configure:1860: pathf90 -o conftest   conftest.f  >&5
| > configure:1863: $? = 0
| > configure:1888: result: 
| > configure:1894: checking for suffix of object files
| > configure:1905: pathf90 -c  conftest.f >&5
| > configure:1908: $? = 0
| > configure:1931: result: o
| > configure:1939: checking whether we are using the GNU Fortran 77 compiler
| > configure:1953: pathf90 -c  conftest.F >&5
| > configure:1959: $? = 0
| > configure:1963: test -z 
| >                      || test ! -s conftest.err
| > configure:1966: $? = 0
| > configure:1969: test -s conftest.o
| > configure:1972: $? = 0
| > configure:1986: result: yes
| > configure:1992: checking whether pathf90 accepts -g
| > configure:2004: pathf90 -c -g conftest.f >&5
| > configure:2010: $? = 0
| > configure:2014: test -z 
| >                      || test ! -s conftest.err
| > configure:2017: $? = 0
| > configure:2020: test -s conftest.o
| > configure:2023: $? = 0
| > configure:2036: result: yes
| > configure:2063: pathf90 --version | grep GNU >&2
| > PathScale EKOPath(TM) Compiler Suite: Version 2.3
| > Built on: 2005-11-10 18:26:15 -0800
| > Thread model: posix
| > GNU gcc version 3.3.1 (PathScale 2.3 driver)
| > 
| > Copyright 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
| > Copyright 2002, 2003, 2004, 2005 PathScale, Inc.  All Rights Reserved.
| > See complete copyright, patent and legal notices in the
| > /opt/pathscale/share/doc/pathscale-compilers-2.3/LEGAL.pdf file.
| > configure:2066: $? = 1
| > configure:2082: error: incorrectly recognized a GNU Fortran 77 compiler
*snip*

| > configure: exit 1
| 110. fortran.at:52: 110. GNU Fortran 77 (fortran.at:52): FAILED 
(fortran.at:52)


| #                             -*- compilation -*-
| 111. fortran.at:77: testing ...
| ../../autoconf-2.59c/tests/fortran.at:77: autoconf --force -W obsolete
| ../../autoconf-2.59c/tests/fortran.at:77: /bin/sh -n configure
| ../../autoconf-2.59c/tests/fortran.at:77: autoheader 
| ../../autoconf-2.59c/tests/fortran.at:77: top_srcdir=$abs_top_srcdir 
./configure -C
| --- /dev/null 2006-03-02 03:11:23.215382864 -0500
| +++ /tmp/build/tests/testsuite.dir/at-stderr  2006-03-06 08:39:33.000000000 
-0500
| @@ -0,0 +1 @@
| +configure: error: failed to recognize GNU Fortran's -ffree-form option.
| stdout:
| configure: creating cache config.cache
| checking for Fortran compiler default output file name... a.out
| checking whether the Fortran compiler works... yes
| checking whether we are cross compiling... no
| checking for suffix of executables... 
| checking for suffix of object files... o
| checking whether we are using the GNU Fortran compiler... yes
| checking whether pathf95 accepts -g... yes
| checking for Fortran flag to compile .f files... none
| checking for Fortran flag needed to allow free-form source... -freeform
| ../../autoconf-2.59c/tests/fortran.at:77: exit code was 1, expected 0
| config.log:
*snip*

| > ## ----------- ##
| > ## Core tests. ##
| > ## ----------- ##
| > 
| > configure:1505: creating cache config.cache
| > configure:1724: checking for Fortran compiler version
| > configure:1726: pathf95 --version >&5
| > PathScale EKOPath(TM) Compiler Suite: Version 2.3
| > Built on: 2005-11-10 18:26:15 -0800
| > Thread model: posix
| > GNU gcc version 3.3.1 (PathScale 2.3 driver)
| > 
| > Copyright 2000, 2001 Silicon Graphics, Inc.  All Rights Reserved.
| > Copyright 2002, 2003, 2004, 2005 PathScale, Inc.  All Rights Reserved.
| > See complete copyright, patent and legal notices in the
| > /opt/pathscale/share/doc/pathscale-compilers-2.3/LEGAL.pdf file.
| > configure:1729: $? = 0
| > configure:1731: pathf95 -v >&5
| > PathScale EKOPath(TM) Compiler Suite: Version 2.3
| > Built on: 2005-11-10 18:26:15 -0800
| > Thread model: posix
| > GNU gcc version 3.3.1 (PathScale 2.3 driver)
| > configure:1734: $? = 0
| > configure:1736: pathf95 -V >&5
| > pathf95 WARNING: -V is ignored
| > pathf95: no input files
| > For general help: pathf95 --help
| > To search help: pathf95 -help:<string>
| > configure:1739: $? = 1
| > configure:1753: checking for Fortran compiler default output file name
| > configure:1775: pathf95    conftest.f  >&5
| > configure:1778: $? = 0
| > configure:1816: result: a.out
| > configure:1821: checking whether the Fortran compiler works
| > configure:1827: ./a.out
| > configure:1830: $? = 0
| > configure:1847: result: yes
| > configure:1854: checking whether we are cross compiling
| > configure:1856: result: no
| > configure:1859: checking for suffix of executables
| > configure:1861: pathf95 -o conftest    conftest.f  >&5
| > configure:1864: $? = 0
| > configure:1889: result: 
| > configure:1895: checking for suffix of object files
| > configure:1906: pathf95 -c   conftest.f >&5
| > configure:1909: $? = 0
| > configure:1932: result: o
| > configure:1940: checking whether we are using the GNU Fortran compiler
| > configure:1954: pathf95 -c   conftest.F >&5
| > configure:1960: $? = 0
| > configure:1964: test -z 
| >                      || test ! -s conftest.err
| > configure:1967: $? = 0
| > configure:1970: test -s conftest.o
| > configure:1973: $? = 0
| > configure:1987: result: yes
| > configure:1993: checking whether pathf95 accepts -g
| > configure:2005: pathf95 -c -g  conftest.f >&5
| > configure:2011: $? = 0
| > configure:2015: test -z 
| >                      || test ! -s conftest.err
| > configure:2018: $? = 0
| > configure:2021: test -s conftest.o
| > configure:2024: $? = 0
| > configure:2037: result: yes
| > configure:2067: checking for Fortran flag to compile .f files
| > configure:2084: pathf95 -c -g -O2  conftest.f >&5
| > configure:2090: $? = 0
| > configure:2094: test -z 
| >                      || test ! -s conftest.err
| > configure:2097: $? = 0
| > configure:2100: test -s conftest.o
| > configure:2103: $? = 0
| > configure:2119: result: none
| > configure:2148: checking for Fortran flag needed to allow free-form source
| > configure:2168: pathf95 -c -g -O2  conftest.f >&5
| > 
| >   program freeform
| >   ^                
| > pathf95-400 pathf95: ERROR MAIN__, File = conftest.f, Line = 2, Column = 3 
| >   The characters found in the label field are not valid.
| >      ^             
| > pathf95-211 pathf95: ERROR MAIN__, File = conftest.f, Line = 2, Column = 6 
| >   Continuation is not allowed for this statement.
| > 
| >        print *, 'Hello ', &
| >                           ^ 
| > pathf95-197 pathf95: ERROR MAIN__, File = conftest.f, Line = 4, Column = 27 
| >   Unexpected syntax: "operand" was expected but found "&".
| > 
| >            'world.'
| >            ^        
| > pathf95-100 pathf95: ERROR MAIN__, File = conftest.f, Line = 5, Column = 12 
| >   This statement must begin with a label, a keyword, or an identifier.
| > 
| > pathf95: PathScale(TM) Fortran Version 2.3 (f14) Mon Mar  6, 2006  08:40:56
| > pathf95: 6 source lines
| > pathf95: 4 Error(s), 0 Warning(s), 0 Other message(s), 0 ANSI(s)
| > pathf95: "explain pathf95-message number" gives more information about each 
message
| > configure:2174: $? = 2
| > configure: failed program was:
| > | 
| > |   program freeform
| > |        ! FIXME: how to best confuse non-freeform compilers?
| > |        print *, 'Hello ', &
| > |            'world.'
| > |        end
| > configure:2168: pathf95 -c -g -O2 -ffree-form  conftest.f >&5
| > pathf95 ERROR parsing -ffree-form: unknown flag
| > configure:2174: $? = 2
| > configure: failed program was:
| > | 
| > |   program freeform
| > |        ! FIXME: how to best confuse non-freeform compilers?
| > |        print *, 'Hello ', &
| > |            'world.'
| > |        end
| > configure:2168: pathf95 -c -g -O2 -FR  conftest.f >&5
| > pathf95 ERROR parsing -F: unknown flag
| > pathf95 ERROR parsing -FR: no argument given for option
| > pathf95 ERROR parsing -FR: unknown flag
| > configure:2174: $? = 2
| > configure: failed program was:
| > | 
| > |   program freeform
| > |        ! FIXME: how to best confuse non-freeform compilers?
| > |        print *, 'Hello ', &
| > |            'world.'
| > |        end
| > configure:2168: pathf95 -c -g -O2 -free  conftest.f >&5
| > pathf95 ERROR parsing -free: unknown flag
| > configure:2174: $? = 2
| > configure: failed program was:
| > | 
| > |   program freeform
| > |        ! FIXME: how to best confuse non-freeform compilers?
| > |        print *, 'Hello ', &
| > |            'world.'
| > |        end
| > configure:2168: pathf95 -c -g -O2 -qfree  conftest.f >&5
| > pathf95 ERROR parsing -qfree: unknown flag
| > configure:2174: $? = 2
| > configure: failed program was:
| > | 
| > |   program freeform
| > |        ! FIXME: how to best confuse non-freeform compilers?
| > |        print *, 'Hello ', &
| > |            'world.'
| > |        end
| > configure:2168: pathf95 -c -g -O2 -Mfree  conftest.f >&5
| > pathf95 ERROR parsing -Mfree: unknown flag
| > configure:2174: $? = 2
| > configure: failed program was:
| > | 
| > |   program freeform
| > |        ! FIXME: how to best confuse non-freeform compilers?
| > |        print *, 'Hello ', &
| > |            'world.'
| > |        end
| > configure:2168: pathf95 -c -g -O2 -Mfreeform  conftest.f >&5
| > pathf95 ERROR parsing -Mfreeform: unknown flag
| > configure:2174: $? = 2
| > configure: failed program was:
| > | 
| > |   program freeform
| > |        ! FIXME: how to best confuse non-freeform compilers?
| > |        print *, 'Hello ', &
| > |            'world.'
| > |        end
| > configure:2168: pathf95 -c -g -O2 -freeform  conftest.f >&5
| > configure:2174: $? = 0
| > configure:2178: test -z 
| >                      || test ! -s conftest.err
| > configure:2181: $? = 0
| > configure:2184: test -s conftest.o
| > configure:2187: $? = 0
| > configure:2203: result: -freeform
| > configure:2222: error: failed to recognize GNU Fortran's -ffree-form option.
*snip*

| 111. fortran.at:77: 111. GNU Fortran (fortran.at:77): FAILED (fortran.at:77)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]