Path: utzoo!attcan!uunet!snorkelwacker!bloom-beacon!eru!hagbard!sunic!liuida!prosys!ath From: ath@prosys.se (Anders Thulin) Newsgroups: comp.lang.c Subject: Re: power c Keywords: c language, c ompiler Message-ID: <591@helios.prosys.se> Date: 12 Sep 90 06:30:41 GMT References: <6266@hub.ucsb.edu> Distribution: comp Organization: Telesoft AB, Teknikringen 2A, S-583 30 Linkoping, Sweden Lines: 65 In article <6266@hub.ucsb.edu> 6500chng@ucsbuxa.ucsb.edu (B. N. Cheng) writes: >Anyone heard of powerC by MIX software ? >I 'd like to know if there's any known bugs or deficiencies. To: 6500chng@ucsbuxa.ucsb.edu Subject: Re: power c Newsgroups: comp.lang.c In-Reply-To: <6266@hub.ucsb.edu> Organization: Telesoft AB, Teknikringen 2A, S-583 30 Linkoping, Sweden Cc: Bcc: In article <6266@hub.ucsb.edu> you write: >Anyone heard of powerC by MIX software ? >I 'd like to know if there's any known bugs or deficiencies. There are. I bought version 2.0.0 earlier this year, mainly to see if the package really was as good as everybody claimed. I was surprised at the quality of the debugger: it is surprisingly good, considered its price. In fact, it almost makes up for the compiler. The compiler isn't quite as good. It does a fairly good job of compiler correct programs, but it isn't good for developing. I think it is a K&R compiler extended to accept prototypes, and the ANSI stuff in the preprocessor, but with no real knowledge about ANSI C. Type checking is a joke. I could assign values to variables declared to be 'const', I could use floats as parameters to functions that used chars in the prototype, and so on without any complaints. The compiler doesn't always use the ANSI C naming rules. For instance, it uses a pseudo-function 'Defined(typename)' (not documented) which is true if the named type has been defined - a good idea for avoiding multiple definitions of the same type. Unfortunately, 'Defined' is in the user name space (according to ANSI), so if you have a program that uses 'Defined' you're in for trouble. I had several. There are several other little bugs: sprintf() doesn't work correctly for some formats, rand()/srand() doesn't work at all as it should, Duff's device fails to compile (no surprise), and so on, and so on. I sent the MIX people a disk with around 14 bugs, some serious, in March. I haven't heard from them, so I can't say how serious they are about fixing bugs. A minor problem is that Power C doesn't use the same object code format that MSDOS uses: you can't use the standard linker. I think MIX C is advertised as producing smaller executables than several other compilers. I believe this is mainly due to their having written large parts of the runtime in assembler. Big programs turned out to be at least as large as with other compilers. If you're don't plan to develop *big* programs, I'd say MIX Power C is worth it's price. If you plan to do serious programming, I suggest trying something else. Hope this is of any help, -- Anders Thulin ath@prosys.se {uunet,mcsun}!sunic!prosys!ath Telesoft Europe AB, Teknikringen 2B, S-583 30 Linkoping, Sweden