This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/33269] Diagnose missing "(" in "PRINT ('a'),"
- From: "tobi at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 Sep 2007 18:27:18 -0000
- Subject: [Bug fortran/33269] Diagnose missing "(" in "PRINT ('a'),"
- References: <bug-33269-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from tobi at gcc dot gnu dot org 2007-09-02 18:27 -------
(In reply to comment #3)
> No, the syntax is:
> READ format[, io-list]
> and ('f.3.3') as a constant-string expression for the format; this is similar
> to "PRINT ('f3.3'), a".
> This should be distinguished from:
> READ(io-control-spec-list)
> The distinction is simple: If there is no ( and an * or a label, it must be
> "READ format"; if the first item after the "(" is a default-char-expression
> (constant or not) and there is no "...=" (e.g. "fmt=") in there, then it is
> also a "READ format" statement.
This is wrong. In "READ(20) x", 20 is not a format but a unit number.
Additionally, we allow "READ(20), x" as an extension which makes this even more
annoying to fix.
I'll be leaving for vacation on Thursday. Given that my first attempts at
fixing this failed, I don't think I'll be able to attend these bugs before the
end of the month. Fortunately, they're not important issues.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33269