Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC830713); site vu44.UUCP Path: utzoo!linus!decvax!mcvax!vu44!jack From: jack@vu44.UUCP (Jack Jansen) Newsgroups: net.lang.c Subject: Re: Prime C pointers Message-ID: <365@vu44.UUCP> Date: Sun, 26-Aug-84 10:14:09 EDT Article-I.D.: vu44.365 Posted: Sun Aug 26 10:14:09 1984 Date-Received: Tue, 21-Aug-84 04:36:29 EDT References: <12441@sri-arpa.UUCP> Organization: VU Informatica, Amsterdam Lines: 18 > From: Bob Larson> > When casting a pointer (48 bits) to an integer or long (32 bits) using > Prime C, it is changed into a byte address (not useful to prime hardware/ > microcode) and the extra information (fault and ring) is apparently > dropped. Pointers are 32 bits on the prime, not 48. The problem is that the ring information is stuffed in the upper 4 (or 5, I'm not sure) bits. I ran into this problem when I converted lots of unix programs that contained functions defined like func(args) and returned pointers. By the way, we have the C compiler sold by Prime, but it's *very* slow (spelled SSSSSSSSLLLLLLLLOOOOOOOsnore). Does anyone know of a better C implementation, running under PRIMOS rev 19? Jack Jansen, {philabs|decvax}!mcvax!vu44!jack