Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!rutgers!ames!oliveb!sun!gorodish!guy From: guy@gorodish.UUCP Newsgroups: comp.arch Subject: Re: Aliasing, etc. in C (available no. of registers) Message-ID: <12096@sun.uucp> Date: Mon, 26-Jan-87 14:51:54 EST Article-I.D.: sun.12096 Posted: Mon Jan 26 14:51:54 1987 Date-Received: Tue, 27-Jan-87 06:28:25 EST References: <7803@decwrl.DEC.COM> Sender: news@sun.uucp Reply-To: guy@sun.UUCP (Guy Harris) Organization: Sun Microsystems, Mountain View Lines: 19 >Oh? If this is aberrant coding, you might want to look at your >varargs.h file whose operation relies on these assumptions; and this is >in the ANSI proposal. Sorry, but this just doesn't hold water. The ONLY thing in the ANSI proposal about "varargs" is that there is an include file (NOT !) and that when you include it certain things are defined. There is nothing whatsoever in the ANSI spec that requires that the distributed with most UNIX systems has to work; in fact, there are implementations on which it DOESN'T work. (Consider a machine with register windows, where the first N scalar parameters are not placed in memory at all - or any other implementation that passes parameters in registers.) Those implementations have to do something else to make it work. There is nothing in the ANSI draft that says anything whatsoever about where variables are placed in memory relative to one another - or about whether variables whose address isn't taken need be in memory at all!