Path: utzoo!attcan!uunet!husc6!bloom-beacon!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!phast.phys.washington.EDU!SEYMOUR From: SEYMOUR@phast.phys.washington.EDU Newsgroups: comp.os.vms Subject: VMS Fort v4.8 bug PATCH Message-ID: <8805232008.AA23674@ucbvax.Berkeley.EDU> Date: 19 May 88 17:58:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 38 Two weeks ago I reported a bug concerning corruption of Comment lines beginning with lowercase c if the /D_LINE compiler switch was used. Fortran v4.8 has about 7 major bugs as distributed. They've had so many SPRs that they're bypassing (read: overloaded) the normal response center on the east coast and having Colo Springs generate patch kits (read: complete replacement distribution) too. I SPR'd it (by mail), received a phone call one week later and the tape the next day. The original (buggy) Fortran is v4.8-276 the repaired Fortran which i received is v4.8-283 (if you get a NEWER version, why not tell INFO-VAX, along with a description of the bug that got it. Then we can SPR for a new copy (of ANY software product, not just Fortran) without having to be bitten by the bug first...) -- dick seymour seymour@uwaphast.bitnet p.s. the bugs were: 1) bad code generated (BCG) for BLOCK DATA subroutines without any COMMON declarations 2) compiler goes into an endless loop when a DO WHILE is determined to be endless at compile time is inside a DO loop which can be eliminated at compile time (due to no results being needed later in the routine) 3) BCG involving array references in complicated DO-loops. a register was being mis-loaded. 4) invalid diagnostics when a lowercase c with /d_lines (mine!) 5) internal consistency failure if a routine had more than 64k declaration statements [2 comments: WOW! and why does DEC still use 16 bits?] 6) BCG with some block moves and block initializations if a subroutine had two dummy array arguments which "happen to be" the same actual argument. 7) BCG sometimes involving a character constant as the run-time FORMAT of an i/o statement contained in a DO-loop