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.