🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.pc
Article #7085

Re: Survey of C Compilers

#7085
From: Clayton Cramer
Date: Mon, 21 Jul 1986 17:08
55 lines
2713 bytes
I'm not really disagreeing with Brad, but I do have a few comments about
our experiences here at Kontron with the Microsoft C compiler.

> 
> I have used several C compilers in my projects and here are the summaries:
> 
> 1) Microsoft C
> 	The winner:
> 		- It comes from a large firm dedicated to languages
> 		- The only compiler to take my 30,000 line program and have
> 		  it run essentially right away.

Early on in our project, we move 12,000 lines of source from Berkeley 4.2
UNIX on a VAX to Microsoft C under PC-DOS.  It only took six hours to find
all the differences between PC-DOS & UNIX, and to find incompatible chunks
of C.  (The incompatibilities were just about all our fault.)

> 		- Support has been reasonable for me, but I'm a beta tester.

Support has been poor to useless for us.  The questions we ask usually get
pretty useless answers, because they are usually telling us to do things
that the manuals warned about.

> 		- Ansi C style argument type checking.

Nice feature, but incompatible with the Berkeley 4.2 C compiler.  (I use 
this feature at home a lot, though.)

> Brad Templeton, Looking Glass Software Ltd. - Waterloo, Ontario 519/884-7473

Additionally, we have run into a few maddening bugs:

1. A parameter is declared as a register pointer to a structure -- it
generated spurious code.  (No, I don't consider register declarations for
a 8086 family machine sensible -- the declaration exists for historical
reasons.)

2. If you scanf a floating point variable, the linker will not grab the
8087 emulator unless you have AT LEAST one floating point arithmetic
operation in the program.  This is documented (sort of), but I'm a little
disappointed that the compiler doesn't generate the right floating point
emulator library references because of the float declarations without
an float operation.

3. Under some ill-defined conditions, the following parameter declarations
are not equivalent:

	char	*String;

	char	String[];

Overall, I'm very pleased with the Microsoft C V3.0 compiler.  The
number and type of bugs are completely acceptable for a compiler.

Clayton E. Cramer
Technical Details
Message-ID: <932@kontron.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!brl-adm!caip!ut-sally!pyramid!voder!kontron!cramer
References: <7975@duke.duke.UUCP> <613@looking.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!brl-adm!caip!ut-sally!pyramid!voder!kontron!cramer
From: cramer@kontron.UUCP (Clayton Cramer)
Newsgroups: net.micro.pc,net.lang.c
Subject: Re: Survey of C Compilers
Message-ID: <932@kontron.UUCP>
Date: Mon, 21-Jul-86 13:08:53 EDT
Article-I.D.: kontron.932
Posted: Mon Jul 21 13:08:53 1986
Date-Received: Tue, 22-Jul-86 01:13:45 EDT
References: <7975@duke.duke.UUCP> <613@looking.UUCP>
Organization: Kontron Electronics, Mt. View, CA
Lines: 55