summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-10 20:02:39 +0000
committerfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2010-06-10 20:02:39 +0000
commitc7b9531f46e66bed46a7359b43980ff59134a0c7 (patch)
treef648b1c39aab1e96b43a61146d0756df0eec12e1 /gcc
parent21e0620a67e03c10f486249f80903a92483dbeaf (diff)
downloadgcc-c7b9531f46e66bed46a7359b43980ff59134a0c7.tar.gz
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog13
-rw-r--r--gcc/fortran/gfortran.texi23
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 <fxcoudert@gcc.gnu.org>
+ PR fortran/38273
+ * gfortran.texi: Document that Cray pointers cannot be function
+ results.
+
+2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ 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 <fxcoudert@gcc.gnu.org>
+
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 ---------------------------------------------------------------------