On Thu, Aug 23, 2018 at 11:05 PM Clem cole <clemc@ccc.com> wrote:
Interesting. Void is missing, not just void*? At one point void worked but the void * idiom was buggy/missing    

Correct. Neither cc nor pcc on 7th edition will accept:

void
sideeffect()
{
        printf("Hi\n");
}

As far as I can tell, both are treating `void` in this short program as an identifier. The string "void" doesn't appear in the sources for either compiler.

The problem I have is the compiler was changing in small ways with each version and the differences run together 

It's my subjective impression, based largely on what I read here on TUHS, that there was quite a lot of activity and cross-pollination in and out of Bell Labs at the time, so I'm not surprised that the details here are fuzzy.

        - Dan C.

Sent from my PDP-7 Running UNIX V0 expect things to be almost but not quite. 

On Aug 23, 2018, at 9:58 PM, Dan Cross <crossd@gmail.com> wrote:

On Thu, Aug 23, 2018 at 6:17 PM <ron@ronnatalie.com> wrote:
[snip]

Void* came out with the V7 compiler, if I recall properly.   The BSD kernel
looks as if it requires such a later compiler (it uses bit fields which the
earlier compilers didn't support).
But it doesn't matter.   You are right char* (or caddr_t) would work just
fine for this albeit with some explicit casting.

This appears to be incorrect, unfortunately. I just tested on the PDP-11/70 running 7th Edition at the Living Computer Museum (I've got an account there) and it appears that neither `cc` nor `pcc` understand `void`.

Perhaps Steve Johnson can chime in on this? I suspect he'd know the history here well.

        - Dan C.