pardo@june.cs.washington.edu (David Keppel) (05/31/90)
One of my friends was trying to write a program to run on a Connection Machine. He used the construct DOALL I = 1, N and the program RAN, but it gave wrong answers. He eventually discovered that CM FORTRAN doesn't have the DOALL extension, and that the compiler was dutifully converting his code to DO ALLI = 1, N Thank god he wasn't writing code for the Range Safety Officer on the next shuttle launch! ;-D on ( DAIIC: Do As If I'm Crazy ) Pardo -- pardo@cs.washington.edu {rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo -- Send compilers articles to compilers@esegue.segue.boston.ma.us {spdcc | ima | lotus}!esegue. Meta-mail to compilers-request@esegue. Please send responses to the author of the message, not the poster.
sampson@cod.nosc.mil (Charles H. Sampson) (06/12/90)
In article <1990May31.161025.3138@esegue.segue.boston.ma.us> pardo@june.cs.washington.edu (David Keppel) writes: > DOALL I = 1, N > [appeared to the Connection Machine compiler to be] > DO ALLI = 1, N Just to clarify a "fine" point, in ANSI FORTRAN '77, the construct DOALLI=1,N (spaces are null in FORTRAN) is defined to mean DO ALLI = 1, N (spaces are still null, but I hope my meaning is clear). Therefore, the so-called DOALL extension has changed the semantics of standard FORTRAN, rather than extending the language. The shuttle people might have a right to be peeved, but they shouldn't direct their displeasure at the CM FORTRAN implementors. [I agree, adding ambiguous syntax that can change the meaning of an existing legal program is not good language design. The entire issue of parallel extensions to Fortran and to C is a hot topic -- I get lots of interesting mailings from the Numerical C Extensions Group. -John] [From sampson@cod.nosc.mil (Charles H. Sampson)] -- Send compilers articles to compilers@esegue.segue.boston.ma.us {spdcc | ima | lotus| world}!esegue. Meta-mail to compilers-request@esegue.
hirchert@ux1.cso.uiuc.edu (Kurt Hirchert) (06/12/90)
In article <1990Jun11.191754.2691@esegue.segue.boston.ma.us> sampson@cod.nosc.mil (Charles H. Sampson) writes: > >In article <1990May31.161025.3138@esegue.segue.boston.ma.us> pardo@june.cs.washington.edu (David Keppel) writes: >> DOALL I = 1, N >> [appeared to the Connection Machine compiler to be] >> DO ALLI = 1, N > > Just to clarify a "fine" point, in ANSI FORTRAN '77, the construct > > DOALLI=1,N > >(spaces are null in FORTRAN) is defined to mean > > DO ALLI = 1, N > >(spaces are still null, but I hope my meaning is clear). Therefore, the >so-called DOALL extension has changed the semantics of standard FORTRAN, ... To clarify the clarification, there is no statement DO ALLI = 1, N in FORTRAN 77. All DO statements in FORTRAN 77 have a statement label, e.g., DO 10 ALLI = 1, N The form without a statement label is an extension. I believe the most common definition of this extension is in Mil. Std. 1753. The form without a statement label is also contained in the proposed Fortran 90. -- Kurt W. Hirchert hirchert@ncsa.uiuc.edu National Center for Supercomputing Applications [Oops, you're right. -John] -- Send compilers articles to compilers@esegue.segue.boston.ma.us {spdcc | ima | lotus| world}!esegue. Meta-mail to compilers-request@esegue.