Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ucbvax.ARPA Path: utzoo!utcs!lsuc!pesnta!amdcad!decwrl!decvax!ucbvax!info-vax From: info-vax@ucbvax.ARPA Newsgroups: fa.info-vax Subject: DEC C copies args Message-ID: <4906@ucbvax.ARPA> Date: Mon, 18-Feb-85 16:49:54 EST Article-I.D.: ucbvax.4906 Posted: Mon Feb 18 16:49:54 1985 Date-Received: Tue, 19-Feb-85 04:42:32 EST Sender: daemon@ucbvax.ARPA Organization: University of California at Berkeley Lines: 16 From: FIRTH@TL-20B.ARPA The "feature" that DEC C copies any func arg you take the address of should not be simply removed. It is needed to enforce the VAX standard calling convention, in particular, the rule that actual args are read only. Without that convention, inter-language calling won't work. However, just to copy the ONE arg that is addressed is certainly a bug, since C requires the args to be contiguous. The correct fix is that, if ANY arg has its address taken, the WHOLE arglist should be copied down into local storage. Robert Firth -------