+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>
* parse.c (next_free): Gooble spaces after OpenMP sentinel.
}
-/* 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
gfc_match_old_kind_spec (gfc_typespec *ts)
@section Old-style kind specifications
@cindex Kind specifications
-GNU Fortran allows old-style kind specifications in
-declarations. These look like:
+GNU Fortran allows old-style kind specifications in declarations. These
+look like:
@smallexample
- TYPESPEC*k x,y,z
+ TYPESPEC*size x,y,z
@end smallexample
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
-statement then declares @code{x}, @code{y} and @code{z} to be of
-type @code{TYPESPEC} with kind @code{k}. This is equivalent to the
-standard conforming declaration
+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
@smallexample
TYPESPEC(k) x,y,z
@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
@section Old-style variable initialization