OSDN Git Service

2013-03-11 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 11 Mar 2013 18:37:30 +0000 (18:37 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 11 Mar 2013 18:37:30 +0000 (18:37 +0000)
        * gfortran.texi (STRUCTURE and RECORD): State more clearly how
        to convert them into derived types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196602 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/gfortran.texi

index e7e5231..88b514d 100644 (file)
@@ -1,3 +1,8 @@
+2013-03-11  Tobias Burnus  <burnus@net-b.de>
+
+       * gfortran.texi (STRUCTURE and RECORD): State more clearly how
+       to convert them into derived types.
+
 2013-03-10  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/56575
index 462b443..4f9008d 100644 (file)
@@ -2004,10 +2004,19 @@ code that uses them running with the GNU Fortran compiler.
 @cindex @code{STRUCTURE}
 @cindex @code{RECORD}
 
-Structures are user-defined aggregate data types; this functionality was
-standardized in Fortran 90 with an different syntax, under the name of
-``derived types''.  Here is an example of code using the non portable
-structure syntax:
+Record structures are a pre-Fortran-90 vendor extension to create
+user-defined aggregate data types.  GNU Fortran does not support
+record structures, only Fortran 90's ``derived types'', which have
+a different syntax.
+
+In many cases, record structures can easily be converted to derived types.
+To convert, replace @code{STRUCTURE /}@var{structure-name}@code{/}
+by @code{TYPE} @var{type-name}.  Additionally, replace
+@code{RECORD /}@var{structure-name}@code{/} by
+@code{TYPE(}@var{type-name}@code{)}. Finally, in the component access,
+replace the period (@code{.}) by the percent sign (@code{%}).
+
+Here is an example of code using the non portable record structure syntax:
 
 @example
 ! Declaring a structure named ``item'' and containing three fields: