From d10f89eeb9a7143e9b5562be5e531b2df6bbf8af Mon Sep 17 00:00:00 2001 From: brooks Date: Tue, 6 Mar 2007 08:00:02 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122599 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 7 +++++++ gcc/fortran/decl.c | 6 +++--- gcc/fortran/gfortran.texi | 12 ++++++++---- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b3fb4c38669c..73bd633f77d7 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2007-03-05 Brooks Moses + + * 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 PR 31050 diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c index f6ffc1df7fe3..173ad45eb214 100644 --- a/gcc/fortran/decl.c +++ b/gcc/fortran/decl.c @@ -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) diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 30a84c77eb7c..3c185630967b 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -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. -- 2.47.3