Microsoft open sources GWBASIC

Maciej W. Rozycki macro at
Thu Jun 11 07:14:36 CDT 2020

On Thu, 11 Jun 2020, Maciej W. Rozycki wrote:

>  GCC supports legacy Fortran code, so I have filed PR fortran/95631 to 
> track this bug, at: <>.  
> Let's see what emerges.

 So the response from GCC Fortran experts is as follows:

"[...] Yes,
old compiler did dumb things, because it was/is difficult to
detect this violation of the Fortran standards.  Note, these
prohibitions are on the programmer.

"F66 8.4.2

"If an actual argument corresponds to a dummy argument that is
defined or redefined in the referenced subprogram, the actual
argument must be a variable name, an array element name, or an
array name.

"F77 15.9.2

"Actual arguments may be constants, symbolic names of constants,
function references, expressions involving operators, and
expressions enclosed in parentheses if and only if the associated
dummy argument is a variable that is not defined during execution
of the referenced external procedure."

 My conclusion has therefore been that this must have been a peculiarity 
of individual compiler implementations, in particular because numerous 
computer systems do not support memory protection and have no way to mark 
a segment read-only, and may otherwise either not support instrumentation 
at all or it can be disabled for performance reasons.  Some implementers 
may have indeed gone to great lengths to support this peculiarity to keep 
software running that has been written for computer systems affected by 
this limitation, but by no means it appears standard in terms of the 
language definition.



More information about the cctalk mailing list