J3/04-209 Date: 2004-01-14 To: J3 From: Walt Brainerd Subject: OPT=-HUGE(0) Date: 2003-12-04 at 08:47:36 Request number: Pub-103 Name: Walt Brainerd E_mail: walt@fortran.com =============================================================== Number: Title: OPT=-HUGE(0) Submitted by: J3 Status: For Consideration References: Basic Functionality: Allow the programmer to indicate that no rearrangement of expressions (or statements?) may take place. For example, for L1(x) .or. L2(x), L1 must first be computed and, regardless of the result L2 must be computed. In x+y+z, x and y must be added first. In other words, the code must be performed the same as the semantics indicate. This might subsume the .andif. and volatile functions and would really "mean what you code". It is a big step which extends the idea of "honor parentheses in expressons". Rationale: The same as Pub-101 and Pub-102. There appears to be no agreement on what can be done; this allows the programmer to control things more closely. Estimated Impact: It might make it easier to decide how to handle the side effects issue. There would be some small additional syntax and its description, which might be a bit complicate, but should be doable in one place, for the most part. Detailed Specification: I don't have any suggestions for syntax, but perhaps sections of code could be controlled by some syntax that turns this on. Or it could be per procedure or program unit. History: Submitted as Pub-103