Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!nuchat!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.sys.amiga Subject: Re: Request for Compiler Info Message-ID: <898@sugar.UUCP> Date: Fri, 23-Oct-87 19:26:13 EST Article-I.D.: sugar.898 Posted: Fri Oct 23 19:26:13 1987 Date-Received: Mon, 26-Oct-87 05:47:31 EST References: <4443@zen.berkeley.edu> <31235@sun.uucp> Organization: Sugar Land UNIX - Houston, TX Lines: 80 Summary: That's interesting. I have th opposite impression. In article <31235@sun.uucp>, cmcmanis%pepper@Sun.COM (Chuck McManis) writes: > In article <4443@zen.berkeley.edu> (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, > > [Minimal flamage here, just the facts ] > > Manx is an excellent compiler for those who know C really well. > > Lattice is an excellent compiler for those who tend to make typos or > don't know C as well, by virtue of its extensive diagnostics. If you > make the statement "If I had wanted to Lint my program, I would have > run Lint!" then you probably want Manx. Well, I have the opposite impression. I have used Lattice and Manx. I prefer Manx for speed and size, but I hate its obnoxiously lint-like diagnostics. If Lattice 4.0 has more disgnostics than Manx, it's probably got more than lint as well. Lattice 3.whatever was minimally noisy. Both do a crummy job of error recovery. The rule should be... "after an error, dump the current expression and resynch to the next semicolon or brace". Both lattice and Manx seem to EAT the next semicolon or brace, leading to scads of bogus nesting diagnostics further down the line. > > -Does Manx really use a different object file format? Are there any > > provisions for going back and forth between standard and Manx formats? > > They did last time I checked but they could link with standard Amiga .o's > anyway. Correct. This is a pain, especially since the Manx linker has smaller external identifiers. It's a lot faster than Alink, though. And you get an Assembler with Manx. Side note... both Lattice and Manx include the preprocessor in pass 1 of the compiler. This is bogus, since it leads to VERY poor diagnostics. > > -What are the classes of source code incompatibility? Manx uses a bogus "memory model" scheme to avoid having to do a good optimisation job. But even in their large model they're faster than Lattice. I always use large model myself... if I wanted a segmented architecture I would have gone with IBM. No smiley. > > Provision for LARGE programs. > Lattice has never had a problem here, don't know about Manx. Be sure to > reassign the QUAD: file to a a real disk if you need the memeory. (it > defaults to RAM:) On Manx you "set CCTEMP=RAM:". I find that I can use Manx much more effectively on a 512K machine with the temp files in RAM:, because the compiler is physically smaller. > > Scatter-loading? Overlays? > > As far as I know only Lattice does these, and on Overlays only in 4.0. Manx does scatter loading, either on a file, routine, or 8K chunk of routines basis. By default it doesn't scatter-load. This is probably bogus (though it does speed up loading). Manx has an excellent "overlay" scheme that actually caches segments in memory quite transparently. I think this may only work on the small models... I haven't used it. I don't tend to write programs that big yet. > > Assembler included? 68010/68020/68881 provisions in compiler and > > assembler? > > Yes on both counts. In 4.0 Lattice claims to have a totally compatible > Assembler (can use the C/A .i files). Does Lattice now ship the Assembler with the Compiler? They used to be seperate products. Manx also allows you to include assembly in 'C' programs with "#asm". Very useful. Of course Lattice is better supported by C=. -- -- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter -- Disclaimer: These U aren't mere opinions... these are *values*.