gfortran.texi (Old-style kind specifications): Document special handling of old-style...
authorBrooks Moses <brooks.moses@codesourcery.com>
Thu, 22 Feb 2007 21:03:05 +0000 (21:03 +0000)
committerBrooks Moses <brooks@gcc.gnu.org>
Thu, 22 Feb 2007 21:03:05 +0000 (13:03 -0800)
* 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

gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/fortran/gfortran.texi

index cea7f13ec005a40b95d47e89cd3c1fe3b301cfe2..d6f0b271faafe840b3a3c8d93b0f1fe6ec3679e3 100644 (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>
 
        * parse.c (next_free): Gooble spaces after OpenMP sentinel.
index 8165c79d6744c2cdf292dff9f0950625be515ec4..aaa11572adea9030aeb7f1be7882a5b354f59854 100644 (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
 gfc_match_old_kind_spec (gfc_typespec *ts)
index 08fa011d55bee897df4a9607306367a62984281b..62889bd600e089b09b50482bcc20757eaf1977ed 100644 (file)
@@ -837,19 +837,21 @@ of extensions, and @option{-std=legacy} allows both without warning.
 @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