* gfortran.texi (Old-style kind specifications): Document
authorbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Mar 2007 08:00:02 +0000 (08:00 +0000)
committerbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Mar 2007 08:00:02 +0000 (08:00 +0000)
special handling of old-style kind specifiers for COMPLEX.
* decl.c (gfc_match_old_kind_spec): Document kind/bytesize
assumptions for COMPLEX in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122599 138bc75d-0d04-0410-961f-82ee72b054a4

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

index b3fb4c3..73bd633 100644 (file)
@@ -1,5 +1,12 @@
 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
        * gfortranspec.c (lang_specific_driver): Update program
        name and copyright date.
index f6ffc1d..173ad45 100644 (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)
index 30a84c7..3c18563 100644 (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.