From: Feng Wang Date: Thu, 7 Jul 2005 07:56:46 +0000 (+0000) Subject: Real commit for Hollerith constants. X-Git-Tag: misc/cutover-cvs2svn~1889 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bc192c773e80f27c8b5a63e8513db9989e2ee545;p=thirdparty%2Fgcc.git Real commit for Hollerith constants. From-SVN: r101689 --- diff --git a/gcc/fortran/gfortran.texi b/gcc/fortran/gfortran.texi index a1bc8782705a..fcd2b0b6a3e0 100644 --- a/gcc/fortran/gfortran.texi +++ b/gcc/fortran/gfortran.texi @@ -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