re PR fortran/38830 (Document lack of "Variable Format Expression" support)

PR fortran/38830
	* gfortran.texi: Document that we don't support variable FORMAT
	expressions.

From-SVN: r147258
This commit is contained in:
Francois-Xavier Coudert 2009-05-07 22:14:23 +00:00 committed by François-Xavier Coudert
parent 13c7a7e5d6
commit 2995ed9a27
2 changed files with 52 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/38830
* gfortran.texi: Document that we don't support variable FORMAT
expressions.
2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/39576

View File

@ -1641,7 +1641,7 @@ code that uses them running with the GNU Fortran compiler.
* STRUCTURE and RECORD::
@c * UNION and MAP::
* ENCODE and DECODE statements::
@c * Expressions in FORMAT statements::
* Variable FORMAT expressions::
@c * Q edit descriptor::
@c * AUTOMATIC statement::
@c * TYPE and ACCEPT I/O Statements::
@ -1779,6 +1779,51 @@ c ... Code that sets A, B and C
@end smallexample
@node Variable FORMAT expressions
@subsection Variable @code{FORMAT} expressions
@cindex @code{FORMAT}
A variable @code{FORMAT} expression is format statement which includes
angle brackets enclosing a Fortran expression: @code{FORMAT(I<N>)}. GNU
Fortran does not support this legacy extension. The effect of variable
format expressions can be reproduced by using the more powerful (and
standard) combination of internal output and string formats. For example,
replace a code fragment like this:
@smallexample
WRITE(6,20) INT1
20 FORMAT(I<N+1>)
@end smallexample
@noindent
with the following:
@smallexample
c Variable declaration
CHARACTER(LEN=20) F
c
c Other code here...
c
WRITE(FMT,'("(I", I0, ")")') N+1
WRITE(6,FM) INT1
@end smallexample
@noindent
or with:
@smallexample
c Variable declaration
CHARACTER(LEN=20) FMT
c
c Other code here...
c
WRITE(FMT,*) N+1
WRITE(6,"(I" // ADJUSTL(FMT) // ")") INT1
@end smallexample
@c ---------------------------------------------------------------------
@c Intrinsic Procedures
@c ---------------------------------------------------------------------