On Fri, Jul 16, 2021 at 7:20 AM Clem Cole <clemc@ccc.com> wrote:


On Fri, Jul 16, 2021 at 4:05 AM Lars Brinkhoff <lars@nocrew.org> wrote:
Clem Cole wrote:
> The 'second' C compiler was a PDP-10 and Honeywell (36-bit) target
> Alan Synder did for his MIT Thesis.  It was originally targeted to ITS
> for the PDP-10, but it ran on Tops-20 also.  My >>memory<< is he used
> a 7-bit Character, ala SAIL, with 5 chars stored in a word with a bit
> leftover.

On ITS it only ever stored characters as full 36-bit words!  So sizeof
char == 1 == sizeof int.  This is allowed per the C standard.  (Maybe it
was updated somewhere else, I dunno.)

Ah - that makes sense.  I never programmed the Honeywell in anything but Dartmouth BASIC (mostly) and any early FORTRAN (very little) and the whole idea of storage size was somewhat oblivious to me at the point as I was a youngster when I did that.  Any idea did the Honeywell treat chars as 36-bit entities also?  Steve, maybe you remember?


The Honeywell 6000 machines ran GCOS; the system standard was six six-bit characters per word.

The Honeywell 6100 machines ran Multics; the system standard was four nine-bit characters per word.

For Multics C, sizeof (*) != sizeof (int) and NULL != 0, so a lot of "portable" C code wasn't.

-- Charles