[TUHS] C++ / Kernel

Dan Cross crossd at gmail.com
Sat Aug 25 00:01:26 AEST 2018


On Thu, Aug 23, 2018 at 11:05 PM Clem cole <clemc at 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 at gmail.com> wrote:
>
> On Thu, Aug 23, 2018 at 6:17 PM <ron at 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.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20180824/7a449b47/attachment.html>


More information about the TUHS mailing list