Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site seismo.CSS.GOV Path: utzoo!watmath!clyde!burl!ulysses!gatech!seismo!mo From: mo@seismo.CSS.GOV (Mike O'Dell) Newsgroups: net.micro.pc Subject: Lattice vs. Microsoft 3.0 Message-ID: <85@seismo.CSS.GOV> Date: Thu, 29-Aug-85 08:19:59 EDT Article-I.D.: seismo.85 Posted: Thu Aug 29 08:19:59 1985 Date-Received: Sat, 31-Aug-85 06:14:55 EDT Organization: Center for Seismic Studies, Arlington, VA Lines: 21 Keywords: eternal compiler woes Both compilers are very good, but they both have serious lossages: (1) Microsoft doesn't do pointer arithmetic for large model programs correctly - they only do the bottom 16 bits and then wave their hands about the segment part. They do generate all the data segments needed (see next entry). (2) Lattice does the pointer arithmetic correctly, but only generates one Data/BSS segment per program, causing problems with large programs having much initialized data. There seems to be some kind of debate going on about whether C users will tolerate the performance loss to do pointer arithmetic correctly. Well, as a person with a VERY large program which manipulates objects which can potentially be larger than 64Kbytes, I would rather have the program work right and slower, than chase down all the pointer adds which might overflow and insert subroutine calls to do it correctly. Lord knows this later fixup slows it down. Wishing someone would do a compiler which does it right, -Mike O'Dell