OSDN Git Service

* gfortran.texi (Old-style kind specifications): Document
authorbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Feb 2007 21:03:05 +0000 (21:03 +0000)
committerbrooks <brooks@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Feb 2007 21:03:05 +0000 (21:03 +0000)
special handling of old-style kind specifiers for COMPLEX.
* decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
assumptions in comment.

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

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

index cea7f13..d6f0b27 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 8165c79..aaa1157 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 08fa011..62889bd 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