From c7b9531f46e66bed46a7359b43980ff59134a0c7 Mon Sep 17 00:00:00 2001 From: fxcoudert Date: Thu, 10 Jun 2010 20:02:39 +0000 Subject: [PATCH] PR fortran/38273 * gfortran.texi: Document that Cray pointers cannot be function results. PR fortran/36234 * gfortran.texi: Document lack of support for syntax "complex FUNCTION name*16()", and existence of alternative legacy syntax "complex*16 FUNCTION name()". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160569 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 13 +++++++++++++ gcc/fortran/gfortran.texi | 23 ++++++++++++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 87e4c3cbc25..5988845a40e 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,18 @@ 2010-06-10 Francois-Xavier Coudert + PR fortran/38273 + * gfortran.texi: Document that Cray pointers cannot be function + results. + +2010-06-10 Francois-Xavier Coudert + + PR fortran/36234 + * gfortran.texi: Document lack of support for syntax + "complex FUNCTION name*16()", and existence of alternative + legacy syntax "complex*16 FUNCTION name()". + +2010-06-10 Francois-Xavier Coudert + PR fortran/43032 * intrinsic.texi (FLUSH): Note the difference between FLUSH and POSIX's fsync(), and how to call the latter from Fortran code. diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index 2b0577662f5..abecf467a9b 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -1515,10 +1515,10 @@ to Cray pointers and pointees. Pointees may not have the @code{ALLOCATABLE}, @code{INTENT}, @code{OPTIONAL}, @code{DUMMY}, @code{TARGET}, @code{INTRINSIC}, or @code{POINTER} attributes. Pointers may not have the @code{DIMENSION}, @code{POINTER}, @code{TARGET}, -@code{ALLOCATABLE}, @code{EXTERNAL}, or @code{INTRINSIC} attributes. -Pointees may not occur in more than one pointer statement. A pointee -cannot be a pointer. Pointees cannot occur in equivalence, common, or -data statements. +@code{ALLOCATABLE}, @code{EXTERNAL}, or @code{INTRINSIC} attributes, nor +may they be function results. Pointees may not occur in more than one +pointer statement. A pointee cannot be a pointer. Pointees cannot occur +in equivalence, common, or data statements. A Cray pointer may also point to a function or a subroutine. For example, the following excerpt is valid: @@ -1719,7 +1719,8 @@ code that uses them running with the GNU Fortran compiler. @c * TYPE and ACCEPT I/O Statements:: @c * .XOR. operator:: @c * CARRIAGECONTROL, DEFAULTFILE, DISPOSE and RECORDTYPE I/O specifiers:: -@c * Omitted arguments in procedure call: +@c * Omitted arguments in procedure call:: +* Alternate complex function syntax:: @end menu @@ -1894,6 +1895,18 @@ c @end smallexample +@node Alternate complex function syntax +@subsection Alternate complex function syntax +@cindex Complex function + +Some Fortran compilers, including @command{g77}, let the user declare +complex functions with the syntax @code{COMPLEX FUNCTION name*16()}, as +well as @code{COMPLEX*16 FUNCTION name()}. Both are non-standard, legacy +extensions. @command{gfortran} accepts the latter form, which is more +common, but not the former. + + + @c --------------------------------------------------------------------- @c Mixed-Language Programming @c --------------------------------------------------------------------- -- 2.11.4.GIT