Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site hocda.UUCP
Path: utzoo!linus!decvax!harpo!ihnp4!houxm!hocda!hom
From: hom@hocda.UUCP (H.MORRIS)
Newsgroups: net.lang.c
Subject: Re: "#if sizeof(char *) < sizeof(int)"
Message-ID: <357@hocda.UUCP>
Date: Tue, 7-Feb-84 10:51:28 EST
Article-I.D.: hocda.357
Posted: Tue Feb  7 10:51:28 1984
Date-Received: Thu, 9-Feb-84 22:05:14 EST
References: <1623@rlgvax.UUCP> <451@mprvaxa.UUCP>, <925@druxy.UUCP>
Organization: Bell Labs, Holmdel
Lines: 19

In writing code for an interpreter and similar projects, I have
often gnashed my teeth over the fact that you can't make a statement
like
#if sizeof(char *) > sizeof(int)
or
#if sizeof(int) == sizeof(long)
It would go a long way towards making it possible to write certain
difficult code to be portable over a reasonable class of machines
(Lets say we forget about DEC-10s and Harris/6's, etc.).  Since we
can't do such things we certain programs (like loaders) riddled
with references to particular machines where it really isn't necessary.
	I realize, I think that the problem is maintaining pcc with
(virtually?) no machine dependencies (so the same pcc is used for
a cross-compiler as for the host machine - at least I've see that happen).
Now there's talk of pcc being less "dumb"; i.e. "knowing" more about
C and/or the particular target machine.  If done right, looks like
that could be a very positive step.  One should also have an unbundled
pcc CAPABILITY somewhere.  I'm not sure but what m4 has too many
bells and whistles added.