[comp.lang.pascal] TP 3.01A -- known bugs list ??

bisanabi@vrdxhq.UUCP (Paul Paloski) (11/03/87)

Is there a list of known bugs for Turbo Pascal 3.01A  ???
I am especially interested in any that may involve the following :
    1) use of sets
    2) use of sets as parameters
    3) use of sets as parameters in recursive calls
    4) using recursion

System is a PC/AT clone (IMS 286 6/10 MHz),  Phoenix BIOS 3.07

I have a program which has been hand-tested by a couple people, most
exhaustively by myself.  I have stepped through the many loops and
recursive calls using TDebug, but it is hard to dump long arrays every
call to check for garbage.  My first assumption is always that the code
is incorrect, but when someone said perhaps the compiler had a bug, I
admitted that the possibility had crossed my mind a couple times.  I
had been awaiting V4.0 to see if it ran correctly under that but a month
has already passed.

A list of ANY known bugs is appreciated.  For my specific reference, I
do not think the stack is at fault since incorrect results occur at only
recursive depth of two or three.  Also, the recursion is not necessaily
to itself. For example,

  p1 -> p2 -> p2 -> p3  (pop) p2 -> p2 -> p3 -> p2 -> p2 (pop) p2 -> p1 -> p2

A thought just occurred to me.  Can static vs. dynamic scoping of
local/global variables be at fault ?  In other words, if p2 has
variable ch AND main has variable ch, what will p3 use if referencing
ch ?  I don't believe this is the problem (I don't code that bad ;-),
but I'm curious to know.  Guess I'll check the manual.  Anyone know
off the top of their heads ??
-- 

-- Paul

:

bisanabi@vrdxhq.UUCP (Paul Paloski) (11/04/87)

In article <4993@vrdxhq.UUCP>, bisanabi@vrdxhq.UUCP (Paul Paloski) writes:
> 
>   .                      ...My first assumption is always that the code
> is incorrect...

which it was.   After posting the previous message, I decided to blow the
dust off my listing and pull a late nighter.  Found an 'off by one' error
buried in the code.

Oh, well.  I'd still like to get a known-bugs list for Turbo Pascal 3.01A,
since I know a few people who probably won't upgrade for lack of doing much
Pascal programming.
-- 

-- Paul

:

CS_UMBAUGH%uta.edu@RELAY.CS.NET (Dave Umbaugh) (11/07/87)

In message <4993@vrdxhq.UUCP> Paul Paloski <bisanabli@vrdxhq.uucp>
writes
> . . .
>
>
>I have a program which has been hand-tested by a couple people, most
>exhaustively by myself.  I have stepped through the many loops and

Details omitted

>A thought just occurred to me.  Can static vs. dynamic scoping of
>local/global variables be at fault ?  In other words, if p2 has
>variable ch AND main has variable ch, what will p3 use if referencing
>ch ?  I don't believe this is the problem (I don't code that bad ;-),
>but I'm curious to know.  Guess I'll check the manual.  Anyone know
>off the top of their heads ??
if p2 has variable ch AND main has variable ch, what p3 will use if
referencing ch will depend on where the definition of p3 is in the
static text.  If p3's definition is a part of p2 then p3 is in the scope
of p2 and p2's ch will "hide" the p1 ch.  If, on the other hand, p3 is 
defined within p1 at the same level as the p2 definition then p3 will
see the ch of p1.  The dynamic scope here is irrelevent.  In other
words, it does not matter whether p3 is called from p2 or from p1.
What matters is where the blocks (procedure definition) appear in the 
text.

To clarify something in my second sentence -- if p1 and p2 are defined
at the same level, then ch in p2 does not "hide" p1's ch since the
ch from p1 would not have been visible in p2 anyway.
: