[net.unix-wizards] C compiler secrets

clark (07/24/82)

#N:uiucdcs:13700006:000:205
uiucdcs!clark    Jul 23 17:36:00 1982

The C compiler as supplied with 4.1 BSD seems to allow extra operations
like structure assignment -- specifically disallowd by the documentation.
Is there somewhere I can find the other goodies it can do?

alex (07/24/82)

#R:uiucdcs:13700006:uiucdcs:13700007:000:371
uiucdcs!alex    Jul 23 17:56:00 1982

The documentation (The C programming language -- Kernighan and Richie)
states that structure assignments draw an error message but that it is 
expected that they will be allowed on later versions.
Unix v7 documentation under a "Recent Changes to C" section states that  
structure assignments (together with other goodies like enumerated
types ) are now acceptable in C.

clark (07/29/82)

#R:uiucdcs:13700006:uiucdcs:13700008:000:1027
uiucdcs!clark    Jul 29 16:04:00 1982

I still am looking for information on the C compiler. So far, I have seen
three documents:

The v7 documentation has within it a single page detailing some recent
changes to C.

The 4.1 bsd documentation has, hidden within it, some recent changes to
the compiler listed.

I also have seen a BTL memo discussing (at greater length than either
of the above) recent changes to C.

My problem is that none of them seem to agree. Each one of them mentions
changes that the others don't. Also some things seem to work on 4.1 bsd
(what I'm currently running under) that are not mentioned in the
documentation.

I would like to know if there is a standard set of additions to the
language that should be portable across C systems. I am especially
interested in porting from 4.1 bsd to BTL UNIX, as I must do so
in a few weeks. Also, the v7 sheet is dated 1978 and the BTL memo
(3621-791002.02TM) is dated 1979. Have any changes been made since?

Please respond via mail.
Thanks in advance,

       Tom Clark, University of Illinois CS

rlb@Purdue@sri-unix (08/20/82)

From: Bob Brown <rlb@Purdue>
Date: 10 Aug 1982 00:24:31-EST
The Volumne 2 document distributed with 4.1BSD has a section at the very end
describing the structure assignment and other goodies like enumerated
data types.  These are not Berkeley extensions, however.

Bob Brown
Purdue-CS (317) 494-6530