From 71810d0e7c262815651f8f2a3f574e973f6df3ba Mon Sep 17 00:00:00 2001 From: Daniel Kraft Date: Wed, 18 Feb 2009 19:54:41 +0100 Subject: [PATCH] gfortran.texi: New chapter about compiler characteristics. 2009-02-18 Daniel Kraft * gfortran.texi: New chapter about compiler characteristics. (Compiler Characteristics): Document KIND type parameters here. From-SVN: r144268 --- gcc/fortran/ChangeLog | 5 ++++ gcc/fortran/gfortran.texi | 60 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a1be5838a73d..694c67f46081 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2009-02-18 Daniel Kraft + + * gfortran.texi: New chapter about compiler characteristics. + (Compiler Characteristics): Document KIND type parameters here. + 2009-02-18 Tobias Burnus * intrinsic.texi (MALLOC): Make example more portable. diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index e5b46ce6c16b..af1d29610852 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -181,6 +181,7 @@ Part I: Invoking GNU Fortran Part II: Language Reference * Fortran 2003 and 2008 status:: Fortran 2003 and 2008 features supported by GNU Fortran. +* Compiler Characteristics:: KIND type parameters supported. * Extensions:: Language extensions implemented by GNU Fortran. * Intrinsic Procedures:: Intrinsic procedures supported by GNU Fortran. * Intrinsic Modules:: Intrinsic modules supported by GNU Fortran. @@ -905,6 +906,65 @@ support is based on the latest draft, available from differ from the drafts, no guarantee of backward compatibility can be made and you should only use it for experimental purposes. + +@c --------------------------------------------------------------------- +@c Compiler Characteristics +@c --------------------------------------------------------------------- + +@node Compiler Characteristics +@chapter Compiler Characteristics + +@c TODO: Formulate this introduction a little more generally once +@c there is more here than KIND type parameters. + +This chapter describes certain characteristics of the GNU Fortran compiler, +namely the KIND type parameter values supported. + +@menu +* KIND Type Parameters:: +@end menu + + +@node KIND Type Parameters +@section KIND Type Parameters +@cindex kind + +The @code{KIND} type parameters supported by GNU Fortran for the primitive +data types are: + +@table @code + +@item INTEGER +1, 2, 4, 8*, 16*, default: 4 (1) + +@item LOGICAL +1, 2, 4, 8*, 16*, default: 4 (1) + +@item REAL +4, 8, 10**, 16**, default: 4 (2) + +@item COMPLEX +4, 8, 10**, 16**, default: 4 (2) + +@item CHARACTER +1, 4, default: 1 + +@end table + +@noindent +* = not available on all systems @* +** = not available on all systems; additionally 10 and 16 are never +available at the same time @* +(1) Unless -fdefault-integer-8 is used @* +(2) Unless -fdefault-real-8 is used + +@noindent +The @code{KIND} value matches the storage size in bytes, except for +@code{COMPLEX} where the storage size is twice as much (or both real and +imaginary part are a real value of the given size). It is recommended to use +the @code{SELECT_*_KIND} intrinsics instead of the concrete values. + + @c --------------------------------------------------------------------- @c Extensions @c --------------------------------------------------------------------- -- 2.47.2