Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!umcp-cs!chris
From: chris@umcp-cs.UUCP (Chris Torek)
Newsgroups: net.lang.c
Subject: Re: register variables
Message-ID: <740@umcp-cs.UUCP>
Date: Fri, 5-Jul-85 09:24:33 EDT
Article-I.D.: umcp-cs.740
Posted: Fri Jul  5 09:24:33 1985
Date-Received: Sat, 6-Jul-85 10:51:34 EDT
References: <409@umcp-cs.UUCP> <1271@opus.UUCP>
Distribution: net
Organization: U of Maryland, Computer Science Dept., College Park, MD
Lines: 19

> Sounds like the Pyramid compiler has a problem there, to the extent that
> it's not following the spirit of the `register' declaration.

It *is* kind of tacky.  It works, though.

> Also, it's not generally possible to declare register variables before
> ordinary variables--parameters are effectively just initialized local
> variables, but the syntax requires that they all be declared before any of
> the locals.  The parameter-vs-local distinction is another reason that
> compilers ought not to do what the Pyramid compiler is described as doing.

Actually, since on Pyramids the first 12 arguments to a procedure
are already in registers (different from the 12 local registers)
this doesn't matter.  Again it just ignores the register declarations,
this time because of the subroutine call architecture.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 4251)
UUCP:	seismo!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@maryland