gfortran.texi (Old-style kind specifications): Document special handling of old-style kind specifiers for COMPLEX.

* gfortran.texi (Old-style kind specifications): Document
special handling of old-style kind specifiers for COMPLEX.
* decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
assumptions in comment.

From-SVN: r122238
This commit is contained in:
Brooks Moses 2007-02-22 21:03:05 +00:00 committed by Brooks Moses
parent 1631cbcfb9
commit b69862d1ef
3 changed files with 19 additions and 8 deletions

View File

@ -1,3 +1,10 @@
2007-02-22 Brooks Moses <brooks.moses@codesourcery.com>
* gfortran.texi (Old-style kind specifications): Document
special handling of old-style kind specifiers for COMPLEX.
* decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
assumptions in comment.
2007-02-21 Bernhard Fischer <aldot@gcc.gnu.org> 2007-02-21 Bernhard Fischer <aldot@gcc.gnu.org>
* parse.c (next_free): Gooble spaces after OpenMP sentinel. * parse.c (next_free): Gooble spaces after OpenMP sentinel.

View File

@ -1373,7 +1373,9 @@ cleanup:
} }
/* Match an extended-f77 kind specification. */ /* Match an extended-f77 kind specification. This assumes that the kind
number is equal to the byte size for non-COMPLEX types, and equal to
half of the byte size for COMPLEX. */
match match
gfc_match_old_kind_spec (gfc_typespec *ts) gfc_match_old_kind_spec (gfc_typespec *ts)

View File

@ -837,19 +837,21 @@ of extensions, and @option{-std=legacy} allows both without warning.
@section Old-style kind specifications @section Old-style kind specifications
@cindex Kind specifications @cindex Kind specifications
GNU Fortran allows old-style kind specifications in GNU Fortran allows old-style kind specifications in declarations. These
declarations. These look like: look like:
@smallexample @smallexample
TYPESPEC*k x,y,z TYPESPEC*size x,y,z
@end smallexample @end smallexample
where @code{TYPESPEC} is a basic type (@code{INTEGER}, @code{REAL}, where @code{TYPESPEC} is a basic type (@code{INTEGER}, @code{REAL},
etc.), and where @code{k} is a valid kind number for that type. The etc.), and where @code{size} is a byte count corresponding to a valid
statement then declares @code{x}, @code{y} and @code{z} to be of kind for that type. The statement then declares @code{x}, @code{y} and
type @code{TYPESPEC} with kind @code{k}. This is equivalent to the @code{z} to be of type @code{TYPESPEC} with the appropriate kind. This
standard conforming declaration is equivalent to the standard conforming declaration
@smallexample @smallexample
TYPESPEC(k) x,y,z TYPESPEC(k) x,y,z
@end smallexample @end smallexample
where @code{k} is equal to @code{size} for most types, but is equal to
@code{size/2} for the @code{COMPLEX} type.
@node Old-style variable initialization @node Old-style variable initialization
@section Old-style variable initialization @section Old-style variable initialization