Path: utzoo!attcan!uunet!husc6!psuvax1!burdvax!bbking!rmarks From: rmarks@KSP.Unisys.COM (Richard Marks) Newsgroups: comp.arch Subject: Re: Fortran Follies Message-ID: <603@bbking.KSP.Unisys.COM> Date: 18 May 88 14:41:55 GMT Organization: Unisys Corp. Knowledge Systems Projects Lines: 30 In reply ot Paul L Schauble's article: (mail to him @cup.portal.com bounced): brings back old memories. Two quick answers: 1. segmented architecture machines can handle fortran (Burroughs B5500) 2. both cases are clear Fortran Errors. The bottom line is that it is going to cost someone to get these programs running on your machine. The programs do to work on some machine. What is the cost of buggering the compiler to make them work on your machine, what is the cost of upgrading the users code, and how much money will you guys make from the user as a customer? I worked a lot on the B5500 Fortran compiler in 1970s. The B5500 is a segment architecture machine. I just automatically broke the large arrays into hunks and dynamically figured out what segment each hunk was in. A segement was 1024 bytes, the standard trick (in all languages) was to use the low 10 bits for the index into the segment and the high bits to tell which segment. All pretty obvious stuff. However, THERE IS NO GUARANTEE THAT NAMED COMMON WILL BE CONTIGUOUS!! Also when passing variable length arrays to a subroutine, the formal params should be declared as so: subroutine sub(a, b, n) real a(n), b(n) Richard Marks rmarks@KSP.unisys.COM