[Bug libfortran/65234] New: Output descriptor (*(1E15.7)) not accepted
vehre at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 27 12:19:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65234
Bug ID: 65234
Summary: Output descriptor (*(1E15.7)) not accepted
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libfortran
Assignee: unassigned at gcc dot gnu.org
Reporter: vehre at gcc dot gnu.org
An output descriptor of the kind
'(*(1E15.7))'
is not accepted by the gfortran runtime library, but the error message:
Fortran runtime error: '*' requires at least one associated data descriptor
(*(1E15.7))
^
is emitted. Now, for a repeat specifier of 1 this makes not much sense, besides
that F2003 and F2008 seem to define this kind of output specifier to be valid.
See F2008, 10.3.1,:
R1003 format-items is format-item [ [ , ] format-item ] ...
R1004 format-item is [ r ] data-edit-desc
or control-edit-desc
or char-string-edit-desc
or [ r ] ( format-items )
R1005 unlimited-format-item is * ( format-items )
R1006 r is int-literal-constant
What for example if one wants to emit/read an even number of floats like with:
'(*(2E15.7))'?
During research Dominique and Tobias found that '(*(2(E15.7)))' is accepted.
The attached example shows that '(*(2(E15.7)))' is accepted while '(*(2E15.7))'
not.
More information about the Gcc-bugs
mailing list