All,

Thanks for the many suggestions. I managed to subdue the one error message I got by adding some compiler flags (the --fdefault-real8 did the job, although I am not quite sure why because the statement it was giving errors on was dealing with integers).

Alin's suggestion of using the "-std=legacy" flag quieted most of the warnings.

Thanks again.

James


On Aug 20, 2009, at 12:17 PM, Alin M Elena wrote:

Hi James,

this is the option of gfortran that you want to look into.
-std=std
Specify the standard to which the program is expected to conform,
which may be one of f95, f2003, f2008, gnu,
or legacy. The default value for std is gnu, which specifies a
superset of the Fortran 95 standard that
includes all of the extensions supported by GNU Fortran, although
warnings will be given for obsolete
extensions not recommended for use in new code. The legacy value
is equivalent but without the warnings for
          obsolete extensions, and may be useful for old non-standard
programs.  The f95, f2003 and f2008 values specify
strict conformance to the Fortran 95, Fortran 2003 and Fortran 2008
standards, respectively; errors are given
for all extensions beyond the relevant language standard, and
warnings are given for the Fortran 77 features
          that are permitted but obsolescent in later standards.


A good compiler would select the type of the standard after the extension.

than you should look at this
set_source_files_properties(${src_dir}/SCF2.f90 PROPERTIES COMPILE_FLAGS
/Od)

if the code is too old 80's you may deal with pre fortran 77 and other special
extension that were never part of standard.

Alin

On Wednesday 19 August 2009 01:20:39 [email protected] wrote:
Message: 3
Date: Tue, 18 Aug 2009 15:39:14 -0600
From: "James C. Sutherland" <[email protected]>
Subject: [CMake] F90 and legacy F77
To: cmake Mailing List <[email protected]>
Message-ID: <[email protected]>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes

Is there a way to detect and use both F77 and F90 compilers?

I have some legacy F77 code that uses constructs that have been
deprecated/removed in F90.  I would like to compile those F77 files
with a F77 compiler, compile the F90 files with an F90 compiler, and
then link them with the F90 compiler.

How can this be done with CMake?

For example:
       foo.f   <-- F77 file
       bar.f90  <-- F90 file

I want something equivalent to
       g77 foo.f -o foo.o
       gfotran bar.f90 foo.o -o executable.x

--
______________________________________________________________________
 Without Questions there are no Answers!
______________________________________________________________________
 Mr  Alin M ELENA
 Irish Centre for High-End Computing -- www.ichec.ie
 The Design Tower, Trinity Technology & Enterprise Campus
 Grand Canal Quay,  Dublin 2, Ireland
 Tel:   +353 (0) 1 5241608 ext 29
 Fax: +353 (0) 1 7645845
 http://alin.elenaworld.net
 [email protected]
 [email protected]
______________________________________________________________________

--
______________________________________________________________________
 Without Questions there are no Answers!
______________________________________________________________________
 Mr  Alin M ELENA
 Irish Centre for High-End Computing -- www.ichec.ie
 The Design Tower, Trinity Technology & Enterprise Campus
 Grand Canal Quay,  Dublin 2, Ireland
 Tel:   +353 (0) 1 5241608 ext 29
 Fax: +353 (0) 1 7645845
 http://alin.elenaworld.net
 [email protected]
 [email protected]
______________________________________________________________________

_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to