Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84 exptools; site ihuxk.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!ihnp4!ihuxk!db21 From: db21@ihuxk.UUCP (Dave Beyerl) Newsgroups: net.micro,net.micro.cpm,net.lang.pascal,net.micro.pc Subject: Re: Turbo Pascal Version 3.00 Message-ID: <1028@ihuxk.UUCP> Date: Thu, 21-Nov-85 13:43:46 EST Article-I.D.: ihuxk.1028 Posted: Thu Nov 21 13:43:46 1985 Date-Received: Sat, 23-Nov-85 05:06:09 EST References: <2258@umcp-cs.UUCP> Distribution: net Organization: AT&T Bell Laboratories Lines: 69 Xref: watmath net.micro:12790 net.micro.cpm:4915 net.lang.pascal:385 net.micro.pc:5953 > Replace this line with your compiler bug > > I sat down to write the program for the next project I am going > to give to my Computer Science I class at home on my CPM system > with Turbo Pascal Version 3.00. The following program illustrates > the problem with the program I wrote: > > program junk(input,output); > procedure proca(chita:char); forward; > procedure procb(chitb:char); > begin > writeln('Entering procb with a ',chitb); > proca('A'); > writeln('Leaving procb with a ',chitb); > end; > procedure proca; > begin > writeln('Entering proca with a ',chita); > if chita = 'I' then procb('I'); > writeln('Leaving proca with a ',chita); > end; > begin > proca('I'); > end. > > The output using Turbo Pascal was: > > Entering proca with a I > Entering procb with a I > Entering proca with a A > Leaving proca with a A > Leaving procb with a I > Leaving proca with a A > > While the output for the same program on a VAX with BSD UNIX, > IBM VM/SP CMS, or a Macintosh with MacPascal was: > > Entering proca with a I > Entering procb with a I > Entering proca with a A > Leaving proca with a A > Leaving procb with a I > Leaving proca with a I > > as I expected. Calling Borland Technical Support was no help, > as they wanted a copy of the program on an IBM format disk. > The technical support specialist asked me to send a copy of the > program on a disk. When I asked "in what format?" she replied > "IBM, of course." I guess CPM does not exist anymore. > > Obviously, I was quite surprised at the output, and now I > wonder how they tested the compiler. It seems that a program > as simple as the one above should have been tested. > > -- Stanley Dunn > University of Maryland Department of Computer Science Because I happened to have a copy of my Turbo Pascal compiler handy, I tried the above program in Turbo. When I ran the program, I received the second set of outputs given in the above article. The version of Turbo that I have is identified as ver. 3.01A for the IBM. Apparently, Borland either corrected this problem in the subsequent point (.01) release or there is a significant difference between the CP/M and IBM versions of Turbo. Hopes this helps in tracking down the problem. For every problem there is one Dave Beyerl solution which is simple, neat, ihuxk!db21 and wrong!