Commit bc192c77 by Feng Wang

Real commit for Hollerith constants.

From-SVN: r101689
parent d3642f89
......@@ -632,6 +632,7 @@ of extensions, and @option{-std=legacy} allows both without warning.
* Real array indices::
* Unary operators::
* Implicitly interconvert LOGICAL and INTEGER::
* Hollerith constants support::
@end menu
@node Old-style kind specifications
......@@ -804,6 +805,35 @@ converting from INTEGER to LOGICAL, the value zero is interpreted as
i = .FALSE.
@end smallexample
@node Hollerith constants support
@section Hollerith constants support
@cindex Hollerith constants
A Hollerith constant is a string of characters preceded by the letter @samp{H}
or @samp{h}, and there must be an literal, unsigned, nonzero default integer
constant indicating the number of characters in the string. Hollerith constants
are stored as byte strings, one character per byte.
@command{gfortran} supports Hollerith constants. They can be used as the right
hands in the @code{DATA} statement and @code{ASSIGN} statement, also as the
arguments. The left hands can be of Integer, Real, Complex and Logical type.
The constant will be padded or trancated to fit the size of left hand.
Valid Hollerith constants examples:
@smallexample
complex*16 x(2)
data x /16Habcdefghijklmnop, 16Hqrstuvwxyz012345/
call foo (4H abc)
x(1) = 16Habcdefghijklmnop
@end smallexample
Invalid Hollerith constants examples:
@smallexample
integer*4 a
a = 8H12345678 ! The Hollerith constant is too long. It will be truncated.
a = 0H ! At least one character needed.
@end smallexample
@include intrinsic.texi
@c ---------------------------------------------------------------------
@c Contributing
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment