[comp.sys.mac.programmer] THINK's LightSpeed Pascal V2.0 BUG!!!

bullerj@handel.colostate.edu (Jon Buller) (04/05/89)

AAAAAAARRRRRRRRGGGGGGGGHHHHHHHH!!!!!!!!!!!!!  I just found a bug in a program
I am writing in LSP V2.0 (dated 11/7/88).  I ran into a problem that has dogged
me for 3 days now, and I'm almost sure that it's in the compiler!  What is
happening is the following:

Function  F (A:AType; B:BType):Extended;
   var V1:Extended;
Begin
  V1 := Stuff (A,B);
  F := More_Stuff (A,B) / V1;
End;

(* Main Program Is Here *)

....
V2 := F(X,Y);
.....             (* The problem is at this point *)

Note: Function F is in a unit, and a different segment from the main program.
The Problem: V2 is not equal to F (which is calculated correctly) but is
    actually equal to V1.  (At least thats what LightsBug says, and the results
    seem to verify this.)

I am doing this on a 1MB Mac2 with 68020 and 68881 options on, but changing the
options doesn't fix the problem (changing DNRV options doesn't do anything
either).  CAN ANYONE GIVE ME A CLUE AS TO HOW TO GET AROUND THIS, or have all
my marbles left me???  Is this a known bug, are the people at Think working on
it, etc.?  Well, just thought you might want to know, any help would be
appreciated, as would other comments and suggestions.  If anyone at think would
like the code to test with, I'll gladly binhex it and send it to you.

Thanks,     Jon
-------------------------------------------------------------------------------
Jon Buller                                      FROM fortune IMPORT quote;
..!ccncsu!handel!bullerj                       FROM lawyers IMPORT disclaimer;