Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site brl-vgr.ARPA Path: utzoo!watmath!clyde!floyd!harpo!seismo!brl-vgr!gwyn From: gwyn@brl-vgr.ARPA (Doug Gwyn ) Newsgroups: net.unix-wizards,net.wanted,net.lang.c Subject: Re: 4.1 BSD & SysV C Message-ID: <3075@brl-vgr.ARPA> Date: Sat, 31-Mar-84 01:38:01 EST Article-I.D.: brl-vgr.3075 Posted: Sat Mar 31 01:38:01 1984 Date-Received: Sat, 31-Mar-84 10:04:55 EST References: <1568@burdvax.UUCP> Organization: Ballistics Research Lab Lines: 30 I don't know about the 4.1BSD C compiler per se but I have experience with the 4.1cBSD and 4.2BSD compilers vs. the UNIX System V (Release 1) version. The two compilers differ in three major ways: (1) Different object module format (actually this is determined by the assembler "as", not the C compiler proper, except for various things like symbol entries and use of common vs. data storage). (2) The BSD compilers allow long variable names ("flexnames"). This is supported in UNIX System V Release 2, which I do not yet have. (3) The BSD compilers have many more bugs. The worst example is that they do not know how to deal with pointers to void-valued functions. But their "optimizers" often break code and various other things are wrong with the code they generate. I am pretty sure that the 4.1cBSD C compiler was pretty much a UNIX System III PCC, judging by the code and the particular set of bugs it has. If not exactly System III, then some version about the same vintage. When I started the BRL UNIX System V emulation for 4.2BSD, I intended to use the Berkeley C compiler rather than adapt the UNIX System V one to work on 4.2BSD. However, I got so utterly disgusted with the BSD compiler that I changed my mind and now use only the System V version. I don't know about the rest of the world, but I have a job to get done and can't afford to fight broken software any more than absolutely necessary.