From: Tobias Burnus Date: Mon, 11 Mar 2013 18:37:30 +0000 (+0100) Subject: gfortran.texi (STRUCTURE and RECORD): State more clearly how to convert them into... X-Git-Tag: releases/gcc-4.8.0~103 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=87f56a65e85ff100e1a813c2bd9c22df615013cd;p=thirdparty%2Fgcc.git gfortran.texi (STRUCTURE and RECORD): State more clearly how to convert them into derived types. 2013-03-11 Tobias Burnus * gfortran.texi (STRUCTURE and RECORD): State more clearly how to convert them into derived types. From-SVN: r196602 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e7e52316ccfc..88b514d014b0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2013-03-11 Tobias Burnus + + * gfortran.texi (STRUCTURE and RECORD): State more clearly how + to convert them into derived types. + 2013-03-10 Paul Thomas PR fortran/56575 diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 462b44366157..4f9008d3d262 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -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: