Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!watnot!watrose!jafischer From: jafischer@watrose.UUCP Newsgroups: comp.sys.atari.st Subject: Re: C compiler Message-ID: <8400@watrose.UUCP> Date: Sat, 24-Jan-87 18:44:49 EST Article-I.D.: watrose.8400 Posted: Sat Jan 24 18:44:49 1987 Date-Received: Sat, 24-Jan-87 23:37:10 EST References: <8701231914.AA14914@ucbvax.Berkeley.EDU> Reply-To: jafischer@watrose.UUCP (Jonathan Fischer) Organization: U. of Waterloo, Ontario Lines: 48 > > I am planning to buy a C compiler. Do you have any suggestion ? Hey! Good news for MWC users / potential users. Remember that msg I posted some time ago asking for news about the C Source Debugger (Csd)? I got impatient, and phoned them on Friday, and was informed that yes, it is under development. I asked the guy for an estimate of the release time, and he simply agreed with me that "within a half-year" was a good guess. Oh boy oh boy. So now I'm back to having to decide which compiler to buy. I was just about to pick up Megamax this weekend. Now, if Megamax had a good debugger... Also: version 2.0 of MWC (oh, that's Mark Williams C, by the way) is soon to be released. Some of the mentioned improvements were: new manual with GEM documentation, automatic jump to Emacs upon compile errors, and automatic compiling from Emacs, uh, let's see, faster compile time, more library functions, and I forget what else. Now: of all the bug notices I've seen on the Net and elsewhere, Mark Williams seems to have been the target of the fewest. Is MWC the most robust compiler? I haven't seen too many Megamax bugs listed, but here's a few that I'm aware of (I work parttime at a computer store & fiddle with Megamax a lot): - gemdos functions within 'if' statements don't work unless you assign them to a variable. I.e., if (Cnecin() == 'q') exit(); won't work, but if ((dummy = Cnecin()) == 'q')... will work. (The reason I say gemdos functions is that other function calls within if statements do work; maybe it has something to do with the 'trap' instruction?) - the '%' operation is poorly implemented. Correct me if I'm wrong, but x % n is supposed to result in an integer from 0 to n-1, right? Well, it often results in a negative number. I.e., something like 30000 % 11 would produce a negative number. - ++ is extremely poorly implemented. Using post-incrementing within a loop will sometimes result in pre-incrementing, for one thing. I.e., for (loop = 0; loop < 10; array[loop++] = x) ; will sometimes go from 1 to 10, rather than 0 to 9. _Sometimes_. - Jonathan Fischer I THINK that I've got this straight: local: jafischer@watrose UUCP: watmath!watrose!jafischer csnet: jafischer%watrose@waterloo.csnet arpa: jafischer%watrose@waterloo.csnet@csnet-relay.arpa (If any of this is wrong, would some kind soul please notify me immediately? Up until I read some 'man' stuff on addresses a few minutes ago, I knew diddly about mail paths).