Path: utzoo!attcan!uunet!mcvax!ruuinf!piet From: piet@ruuinf.UUCP (Piet van Oostrum) Newsgroups: comp.sys.atari.st Subject: Re: Mark Johnson C Message-ID: <496@ruuinf.UUCP> Date: 20 Jun 88 11:23:05 GMT References: <8806162102.AA01677@ucbvax.Berkeley.EDU> <155@lzaz.ATT.COM> Sender: piet@ruuinf.UUCP Organization: Univ of Utrecht, Dept of CS Lines: 28 In-reply-to: bds@lzaz.ATT.COM's message of 17 Jun 88 11:54:16 GMT In article <155@lzaz.ATT.COM> bds@lzaz.ATT.COM (BRUCE SZABLAK) writes: In article <8806162102.AA01677@ucbvax.Berkeley.EDU>, nfrech@ALMSA-1.ARPA ("Norman R. Frech") writes: > > Has anyone out there had any experience/luck with Mark Johnson C. Yes, I've had v2.0 for a week or 2, and I've compiled one program in excess of 1700 lines or so with no problem. I'd like to help you but your problem description is pretty vague (but not more so than some MR's I've received ;-) ). I tried to compile some programs with MJC V1.2, and just got V2.0, but did not try it yet. I also expierenced some problems (note these are all V1.2): 1. macro expansion with a trap inside get screwed (e.g. #define Fseek(a,b,c) trap(....)) 2. The stdio package is almost totally broken. I rewrote a part of it but have not ported the changes to V2.0. Some problems: Redirection from a shell gives big problems. MJC just supposes that stdin and stdout are terminals if they are not redirected on its command line. So reading from a file as stdin clobbers the file. Besides, it doesn't use Fforce, so you end up with the wrong file handles (no longer 0, 1) if you do redirection in the program. Next the buffering is incomplete. fread and fwrite use unbuffered I/O, so you can't mix them with other stdio calls, like putchar. The files are not closed on exit, so you MUST do that yourself. fseek also doesn't take buffering into account. I don't know any more from the top of my head. I'm waiting for GNU cc for the ST!