Path: utzoo!attcan!uunet!husc6!mailrus!uflorida!haven!trantor.umd.edu!louie From: louie@trantor.umd.edu (Louis A. Mamakos) Newsgroups: comp.sys.amiga.tech Subject: Re: Large arrays in Lattice V4.0 Message-ID: <3037@haven.umd.edu> Date: 23 Nov 88 13:50:05 GMT References: <652@helios.toronto.edu> <78840@sun.uucp> Sender: news@haven.umd.edu Reply-To: louie@trantor.umd.edu (Louis A. Mamakos) Organization: University of Maryland, College Park Lines: 30 In article <78840@sun.uucp> cmcmanis@sun.UUCP (Chuck McManis) writes: >If you are using Lattice C : >Use the -b0 (thats a zero) switch when compiling your program. The default >in 4.0 (which was changed from 3.x) was to use 16 bit offsets for data >addressing and that won't work for arrays > 65533 bytes in size. Whereas >with -b0 you can address arrays up to two gigabytes. I used this technique when I ported TeX (after it was run through WEB-to-C) to the the Amiga. I malloc() all of the large arrays. Beware, however; Lattice C, version 4.01 generate broken code when the array subscript is an unsigned short. It treats it as a signed short and feels obligated to sign extend it to 32 bits before adding it to the index register. Result? Very broken behavior when the array subscript is greater than 32767. I'm somewhat annoyed in that I spent 30 minutes on the phone (at my expense) explaining the problem to them, registering a problem report, and then just waiting. I was told that since the new 5.0 release was due out "soon" (this was 2 and one half months ago) there would be no patch. Does anyone know if this was fixed? Are customers with outstanding problem reports supposted to hear from Lattice about this? Do I have to pay $75.00 to get the new version? Gee, the flame content seems a bit high; I didn't mean it to be. I really like the Lattice compiler; I only wish it had unix-like command options. Louis A. Mamakos WA3YMH Internet: louie@TRANTOR.UMD.EDU University of Maryland, Computer Science Center - Systems Programming