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