Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site dciem.UUCP
Path: utzoo!dciem!ntt
From: ntt@dciem.UUCP (Mark Brader)
Newsgroups: net.lang.f77
Subject: Characters and common
Message-ID: <952@dciem.UUCP>
Date: Thu, 14-Jun-84 17:32:21 EDT
Article-I.D.: dciem.952
Posted: Thu Jun 14 17:32:21 1984
Date-Received: Thu, 14-Jun-84 18:52:20 EDT
Organization: NTT Systems Inc., Toronto, Canada
Lines: 22

I just learned that the Fortran 77 standard prohibits* character and
non-character variables from being equivalenced to each other, and also
from being in the same common block as each other.

[*Which means it allows compilers to prohibit; it's a "permissive" standard.
  Both constructs are legal in f77, but not in another compiler I use.]

I can understand the reason to prohibit equivalencing, since Fortran 77
was to some extent designed to support portability.  But the restriction
on common blocks baffles me.  It does NOT stop you from faking an
equivalence between character and non-character data by declaring the
variables in a common block differently in different subroutines
(compiled separately); it does stop you from putting some variables that
are associated with each other in the same common block.

(Communications of the ACM, Oct 1978, pp 806-820, is my source.)

Anyone know what the standard-writers had in mind?  Mail replies to:

{ allegra | decvax | duke | ihnp4 | linus | watmath | ... } !utzoo!dciem!ntt
						 uw-beaver!utcsrgv!dciem!ntt
Mark Brader, NTT Systems Inc.