Commit 1200489c by Tobias Burnus Committed by Tobias Burnus

re PR fortran/33862 (Support .FTN file extension for Fortran fixed-format source files)

2007-10-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33862
        * lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
        * options.c (form_from_filename): Support .ftn extension.
        * gfortran.texi: Document support of .for and .ftn file extension.

From-SVN: r129680
parent 094817b0
2007-10-27 Tobias Burnus <burnus@net-b.de>
PR fortran/33862
* lang-specs.h: Support .ftn and .FTN extension, use CPP for .FOR.
* options.c (form_from_filename): Support .ftn extension.
* gfortran.texi: Document support of .for and .ftn file extension.
2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2007-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33162 PR fortran/33162
......
...@@ -368,11 +368,11 @@ the relevant compiler front-end program (e.g., @command{f951} for ...@@ -368,11 +368,11 @@ the relevant compiler front-end program (e.g., @command{f951} for
Fortran) for each file in the source code, and then calls the assembler Fortran) for each file in the source code, and then calls the assembler
and linker as appropriate to produce the compiled output. In a copy of and linker as appropriate to produce the compiled output. In a copy of
GCC which has been compiled with Fortran language support enabled, GCC which has been compiled with Fortran language support enabled,
@command{gcc} will recognize files with @file{.f}, @file{.f90}, @file{.f95}, @command{gcc} will recognize files with @file{.f}, @file{.for}, @file{.ftn},
and @file{.f03} extensions as Fortran source code, and compile it @file{.f90}, @file{.f95}, and @file{.f03} extensions as Fortran source code,
accordingly. A @command{gfortran} driver program is also provided, and compile it accordingly. A @command{gfortran} driver program is also
which is identical to @command{gcc} except that it automatically links provided, which is identical to @command{gcc} except that it automatically
the Fortran runtime libraries into the compiled program. links the Fortran runtime libraries into the compiled program.
This manual specifically documents the Fortran front end, which handles This manual specifically documents the Fortran front end, which handles
the programming language's syntax and semantics. The aspects of GCC the programming language's syntax and semantics. The aspects of GCC
...@@ -399,10 +399,11 @@ through a C preprocessor (CPP; sometimes also called Fortran preprocessor, ...@@ -399,10 +399,11 @@ through a C preprocessor (CPP; sometimes also called Fortran preprocessor,
FPP) to allow for conditional compilation. In case of GNU Fortran FPP) to allow for conditional compilation. In case of GNU Fortran
this is the GNU C Preprocessor in the traditional mode. On systems with this is the GNU C Preprocessor in the traditional mode. On systems with
case-preserving file names, the preprocessor is automatically invoked if the case-preserving file names, the preprocessor is automatically invoked if the
file extension is @code{.F}, @code{.F90}, @code{.F95} or @code{.F03}; file extension is @code{.F}, @code{.FOR}, @code{.FTN}, @code{.F90},
otherwise use for fixed-format code the option @code{-x f77-cpp-input} @code{.F95} or @code{.F03}; otherwise use for fixed-format code the option
and for free-format code @code{-x f95-cpp-input}. Invocation of the @code{-x f77-cpp-input} and for free-format code @code{-x f95-cpp-input}.
preprocessor can be suppressed using @code{-x f77} or @code{-x f95}. Invocation of the preprocessor can be suppressed using @code{-x f77} or
@code{-x f95}.
If the GNU Fortran invoked the preprocessor, @code{__GFORTRAN__} If the GNU Fortran invoked the preprocessor, @code{__GFORTRAN__}
is defined and @code{__GNUC__}, @code{__GNUC_MINOR__} and is defined and @code{__GNUC__}, @code{__GNUC_MINOR__} and
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
for the f95 language. */ for the f95 language. */
{".F", "@f77-cpp-input", 0, 0, 0}, {".F", "@f77-cpp-input", 0, 0, 0},
{".FOR", "@f77-cpp-input", 0, 0, 0},
{".FTN", "@f77-cpp-input", 0, 0, 0},
{".fpp", "@f77-cpp-input", 0, 0, 0}, {".fpp", "@f77-cpp-input", 0, 0, 0},
{".FPP", "@f77-cpp-input", 0, 0, 0}, {".FPP", "@f77-cpp-input", 0, 0, 0},
{"@f77-cpp-input", {"@f77-cpp-input",
...@@ -45,6 +47,6 @@ ...@@ -45,6 +47,6 @@
%{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0}, %{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
{".f", "@f77", 0, 0, 0}, {".f", "@f77", 0, 0, 0},
{".for", "@f77", 0, 0, 0}, {".for", "@f77", 0, 0, 0},
{".FOR", "@f77", 0, 0, 0}, {".ftn", "@f77", 0, 0, 0},
{"@f77", "%{!E:f951 %i %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*}\ {"@f77", "%{!E:f951 %i %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*}\
%{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0}, %{!nostdinc:-fintrinsic-modules-path finclude%s} %{!fsyntax-only:%(invoke_as)}}", 0, 0, 0},
...@@ -161,6 +161,9 @@ form_from_filename (const char *filename) ...@@ -161,6 +161,9 @@ form_from_filename (const char *filename)
".for", FORM_FIXED} ".for", FORM_FIXED}
, ,
{ {
".ftn", FORM_FIXED}
,
{
"", FORM_UNKNOWN} "", FORM_UNKNOWN}
}; /* sentinel value */ }; /* sentinel value */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment