This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Hollerith constant documentation
- From: Mark Eggleston <mark dot eggleston at codethink dot co dot uk>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>, fortran <fortran at gcc dot gnu dot org>
- Date: Mon, 13 May 2019 15:57:06 +0100
- Subject: [PATCH] Hollerith constant documentation
The Hollerith constants support section in the gfortran manual stated
that they can be used with the ASSIGN statement. This is not the case as
a compilation error occurs and in any event the value of any such
constant would be larger than the largest valid label (99999).
I've added some extra examples along with other minor changes.
I do not have commit privileges so someone else will have to commit this:
For the change log:
Mark Eggleston <mark.eggleston@codethink.com>
* gfortran.texi: Remove reference to the ASSIGN statement, capitalise
complex, state that padding is with spaces and modify the Hollerith
constant examples.
--
https://www.codethink.co.uk/privacy.html
>From 8f26259d673708241abcdb57d3f218bd7ebbeb0f Mon Sep 17 00:00:00 2001
From: Mark Eggleston <markeggleston@codethink.com>
Date: Mon, 13 May 2019 15:30:07 +0100
Subject: [PATCH] Update documentation for Hollerith Constants
---
gcc/fortran/gfortran.texi | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi
index e2a1d7ccfab..c887e7d1a42 100644
--- a/gcc/fortran/gfortran.texi
+++ b/gcc/fortran/gfortran.texi
@@ -1923,13 +1923,13 @@ in I/O operations.
@cindex Hollerith constants
GNU Fortran supports Hollerith constants in assignments, function
-arguments, and @code{DATA} and @code{ASSIGN} statements. A Hollerith
-constant is written as a string of characters preceded by an integer
-constant indicating the character count, and the letter @code{H} or
-@code{h}, and stored in bytewise fashion in a numeric (@code{INTEGER},
-@code{REAL}, or @code{complex}) or @code{LOGICAL} variable. The
-constant will be padded or truncated to fit the size of the variable in
-which it is stored.
+arguments, and @code{DATA} statements. A Hollerith constant is written
+as a string of characters preceded by an integer constant indicating the
+character count, and the letter @code{H} or @code{h}, and stored in
+bytewise fashion in a numeric (@code{INTEGER}, @code{REAL}, or
+@code{COMPLEX}) or @code{LOGICAL} variable. The constant will be padded
+with spaces or truncated to fit the size of the variable in which it is
+stored.
Examples of valid uses of Hollerith constants:
@smallexample
@@ -1939,11 +1939,13 @@ Examples of valid uses of Hollerith constants:
call foo (4h abc)
@end smallexample
-Invalid Hollerith constants examples:
+Examples of Hollerith constants:
@smallexample
integer*4 a
+ a = 0H ! Invalid, at least one character is needed.
+ a = 4HAB12 ! Valid
a = 8H12345678 ! Valid, but the Hollerith constant will be truncated.
- a = 0H ! At least one character is needed.
+ a = 3Hxyz ! Valid, but the Hollerith constant will be padded.
@end smallexample
In general, Hollerith constants were used to provide a rudimentary
--
2.11.0