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): Document kind/bytesize
assumptions for COMPLEX in comment.

From-SVN: r122599
This commit is contained in:
Brooks Moses 2007-03-06 08:00:02 +00:00 committed by Brooks Moses
parent 676a788450
commit b2b81a3fd2
3 changed files with 18 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2007-03-05 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): Document kind/bytesize
assumptions for COMPLEX in comment.
2007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
PR 31050

View File

@ -1373,9 +1373,9 @@ cleanup:
}
/* 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 an extended-f77 "TYPESPEC*bytesize"-style kind specification.
This assumes that the byte size is equal to the kind number for
non-COMPLEX types, and equal to twice the kind number for COMPLEX. */
match
gfc_match_old_kind_spec (gfc_typespec *ts)

View File

@ -840,14 +840,18 @@ look like:
@smallexample
TYPESPEC*size x,y,z
@end smallexample
@noindent
where @code{TYPESPEC} is a basic type (@code{INTEGER}, @code{REAL},
etc.), and where @code{size} is a byte count corresponding to a valid
kind for that type. The statement then declares @code{x}, @code{y} and
@code{z} to be of type @code{TYPESPEC} with the appropriate kind. This
is equivalent to the standard conforming declaration
etc.), and where @code{size} is a byte count corresponding to the
storage size of a valid kind for that type. (For @code{COMPLEX}
variables, @code{size} is the total size of the real and imaginary
parts.) The statement then declares @code{x}, @code{y} and @code{z} to
be of type @code{TYPESPEC} with the appropriate kind. This is
equivalent to the standard-conforming declaration
@smallexample
TYPESPEC(k) x,y,z
@end smallexample
@noindent
where @code{k} is equal to @code{size} for most types, but is equal to
@code{size/2} for the @code{COMPLEX} type.