Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!ucbcad!ucbvax!jade!eris!mwm From: mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) Newsgroups: comp.sys.amiga Subject: Re: Request for Compiler Info Message-ID: <5540@jade.BERKELEY.EDU> Date: Tue, 20-Oct-87 22:38:33 EDT Article-I.D.: jade.5540 Posted: Tue Oct 20 22:38:33 1987 Date-Received: Thu, 22-Oct-87 06:55:55 EDT References: <4443@zen.berkeley.edu> <31235@sun.uucp> Sender: usenet@jade.BERKELEY.EDU Reply-To: mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) Organization: Missionaria Phonibalonica Lines: 169 In article <31235@sun.uucp> cmcmanis@sun.UUCP (Chuck McManis) writes: (Jonathan Dubman) writes: <>Having gained little from the objective reviews ("Both are good systems...") <>I am interested in religious statements from any owners of MANX and Lattice, <>especially from those who have seen Lattice 4.0 in action. Unless the flame <>is low, please mail such statements PRIVATELY. < <[Minimal flamage here, just the facts ] < -What are the classes of source code incompatibility? Avoiding odd practices, it boils down to three: 1) What in the set of dpANS - K&R features has been implemented. 2) ATT or BSD library calls. 3) 32 vs. 16 bit ints. With the next release of each compiler (Manx 3.6(?) and Lattice 4.0), most of those should vanish. 3) Manx already supports both 16 and 32 bit ints, Lattice 4.0 will support both. 2) dpANS is going with ATT library calls, + some extras. Lattice 3.10 follows those, and Manx is supposed to be going that way. For now, Manx has BSD library calls. 1) The ones that were in v7 c are in both. The ones in current Unix pcc are in both. Lattice supports prototyping, Manx is supposed to in the near future. Of course, if you play games with the Manx pre-compiled .h files (Lattice 4.0 has those), you can get into all kinds of trouble. <> -Size of code? Speed of compilation? Provisions for LARGE programs? As Matt pointed out elsewhere, if a 68K C compiler has problems with large code or data segments, you've got a badly broken compiler. On the other hand, if you mean working with programs with lots of source - enough to want to scatter it into multiple directories - then I think Lattice wins. Lattice follows the Unix compilers in putting the .o for a file in the current directory, even if the source is elsewhere. Manx will put the .o in the same directory as the source. This means my Unix habits don't work. The difference in error message formats also causes some problems with large programs. <> (i.e. Make utility included, etc.) < Scatter-loading? Overlays? < Scatter-loading is done by the DOS loader. You can turn it off to get smaller binaries and faster startup time. Manx may produce binaries in the "no scatter-load" format, but it'd surprise me. Overlays can be done with the stock metacomco linker (alink). It can be used instead of the linker supplied by lattice (blink), though the 4.0 blink overlays. Theoretically, you ought to be able to compile code with Manx, convert it's .o files to AmigaDOS style .o files, then blink them to get scatter loading and overlays. Someone who uses Manx regularly want to comment? -How about the documentation? (Great flame category.) <