This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
[gfortran, patch]: Document ENUM stuff, reorganize docs
- From: Tobias Schlüter <tobias dot schlueter at physik dot uni-muenchen dot de>
- To: GCC Fortran mailing list <fortran at gcc dot gnu dot org>,patch <gcc-patches at gcc dot gnu dot org>,"Gaurav Gautam, Noida" <gauravga at noida dot hcltech dot com>
- Date: Sun, 30 Oct 2005 21:37:30 +0100
- Subject: [gfortran, patch]: Document ENUM stuff, reorganize docs
This does two things: First, I added documentation for the new stuff Gaurav
Guptam's patch brought. Second, I moved the license stuff to the back of the
manual. Tested with a make dvi.
- Tobi
2005-10-30 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
* gfortran.texi: Move license stuff to back. Add information
on ENUM and ENUMERATOR.
* invoke.texi: Document -fshort-enums.
Index: gfortran.texi
===================================================================
--- gfortran.texi (revision 106030)
+++ gfortran.texi (working copy)
@@ -98,7 +98,8 @@ Boston, MA 02110-1301, USA@*
@contents
@page
-@node Top, Copying,, (DIR)
+@node Top
+@c , Copying,, (DIR)
@top Introduction
@cindex Introduction
@@ -118,11 +119,6 @@ not accurately reflect the status of the
@comment better formatting.
@comment
@menu
-* Copying:: GNU General Public License says
- how you can copy and share GNU Fortran.
-* GNU Free Documentation License::
- How you can copy and share this manual.
-* Funding:: How to help assure continued work for free software.
* Getting Started:: What you should know about @command{gfortran}.
* GFORTRAN and GCC:: You can compile Fortran, C, or other programs.
* GFORTRAN and G77:: Why we chose to start from scratch.
@@ -132,36 +128,17 @@ not accurately reflect the status of the
* Standards:: Standards supported by @command{gfortran}
* Extensions:: Language extensions implemented by @command{gfortran}
* Intrinsic Procedures:: Intrinsic procedures supported by @command{gfortran}
+* Copying:: GNU General Public License says
+ how you can copy and share GNU Fortran.
+* GNU Free Documentation License::
+ How you can copy and share this manual.
+* Funding:: How to help assure continued work for free software.
* Index:: Index of this documentation.
@end menu
@c ---------------------------------------------------------------------
-@c GNU General Public License
-@c ---------------------------------------------------------------------
-
-@include gpl.texi
-
-
-
-@c ---------------------------------------------------------------------
-@c GNU Free Documentation License
-@c ---------------------------------------------------------------------
-
-@include fdl.texi
-
-
-
-@c ---------------------------------------------------------------------
-@c Funding Free Software
-@c ---------------------------------------------------------------------
-
-@include funding.texi
-
-
-
-@c ---------------------------------------------------------------------
@c Getting Started
@c ---------------------------------------------------------------------
@@ -973,8 +950,11 @@ pointees are passed as arguments, they a
variables in the invoked function. Subsequent changes to the pointer
will not change the base address of the array that was passed.
+@c ---------------------------------------------------------------------
@include intrinsic.texi
@c ---------------------------------------------------------------------
+
+@c ---------------------------------------------------------------------
@c Contributing
@c ---------------------------------------------------------------------
@@ -1119,18 +1099,54 @@ Intrinsics @code{command_argument_count}
@code{get_command_argument}, and @code{get_environment_variable}.
@item
+@cindex Array constructors
+@cindex @code{[...]}
Array constructors using square brackets. That is, @code{[...]} rather
than @code{(/.../)}.
-@item
+@item
+@cindex @code{FLUSH} statement
@code{FLUSH} statement.
@item
+@cindex @code{IOMSG=} specifier
@code{IOMSG=} specifier for I/O statements.
+
+@item
+@cindex @code{ENUM} statement
+@cindex @code{ENUMERATOR} statement
+@cindex @command{-fshort-enums}
+Support for the declaration of enumeration constants via the
+@code{ENUM} and @code{ENUMERATOR} statements. Interoperability with
+@command{gcc} is guaranteed also for the case where the
+@command{-fshort-enums} command line option is given.
+
@end itemize
@c ---------------------------------------------------------------------
+@c GNU General Public License
+@c ---------------------------------------------------------------------
+
+@include gpl.texi
+
+
+
+@c ---------------------------------------------------------------------
+@c GNU Free Documentation License
+@c ---------------------------------------------------------------------
+
+@include fdl.texi
+
+
+
+@c ---------------------------------------------------------------------
+@c Funding Free Software
+@c ---------------------------------------------------------------------
+
+@include funding.texi
+
+@c ---------------------------------------------------------------------
@c Index
@c ---------------------------------------------------------------------
Index: invoke.texi
===================================================================
--- invoke.texi (revision 106030)
+++ invoke.texi (working copy)
@@ -146,7 +146,7 @@ by type. Explanations are in the follow
@gccoptlist{
-fno-automatic -ff2c -fno-underscoring -fsecond-underscore @gol
-fbounds-check -fmax-stack-var-size=@var{n} @gol
--fpackderived -frepack-arrays}
+-fpackderived -frepack-arrays -fshort-enums}
@end table
@menu
@@ -752,6 +752,13 @@ a contiguous block at runtime.
This should result in faster accesses to the array. However it can introduce
significant overhead to the function call, especially when the passed data
is discontiguous.
+
+@cindex -fshort-enums
+@item -fshort-enums
+This option is provided for interoperability with C code that was
+compiled with the @command{-fshort-enums} option. It will make
+@command{gfortran} choose the smallest @code{INTEGER} kind a given
+enumerator set will fit in, and give all its enumerators this kind.
@end table
@xref{Code Gen Options,,Options for Code Generation Conventions,