summaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>2010-06-10 20:02:39 +0000
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2010-06-10 20:02:39 +0000
commitf14b9067c9d5c119f686e65dcae79730021bb455 (patch)
treef648b1c39aab1e96b43a61146d0756df0eec12e1 /gcc/fortran
parentda12c99723e07b1cd4bdd72c721e7c0fd2ffd1e1 (diff)
downloadgcc-f14b9067c9d5c119f686e65dcae79730021bb455.tar.gz
re PR fortran/38273 (Cray pointers: Document that pointers cannot be function return values)
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()". From-SVN: r160569
Diffstat (limited to 'gcc/fortran')
-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 ---------------------------------------------------------------------