<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Thu, 21 Nov 1985 18:43:46 GMT
From   : Dave Beyerl <db21%ihuxk.uucp@BRL.ARPA>
Subject: Re: Turbo Pascal Version 3.00

> 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!
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>