[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference clt::dec_pascal_bugs

Title:DEC Pascal Bug Reports
Notice:New kit announcement in TURRIS::Pascal conference
Moderator:TLE::GARRISON
Created:Wed Sep 09 1992
Last Modified:Fri May 30 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:838
Total number of notes:3659

827.0. "INCORRECT CODE PRODUCED BY DEC PASCAL FOR OPENVMS" by TAV02::MILCHIN () Tue Feb 11 1997 08:28

	HI!

	Bellow is a minimized example provided me by the customer, which
illustrates an incorrect code produced by DEC PASCAL for OPENVMS AXP.
The program fails with the %SYSTEM-F-ACCVIO,... refering to any element
of 2-dimentional array passed as conformant array to a procedure.
Provided is a source code and the DEBUGGER's session log file.

	Environment:
	OPENVMS ALPHA V7.1, DEC PASCAL V5.5-57-329E.

		MICHAEL
******************************************************************
{[align(vax)]}

PROGRAM TEST2dim(input,output);

CONST
    DIM1    =   11;
    DIM2    =   66000;
VAR

    tblr : array[1..DIM1,1..DIM2] of real;

    r   :   real;
    i1, i2: integer;



[GLOBAL]function INTER2DIMR( {no}var tbl : array[la1..ua1:integer;
						la2..ua2:integer]
				     of real): real;
VAR
    LR    : real;

BEGIN
    
    LR := tbl[1,1];

    writeln('  real is: ', LR);
    INTER2DIMR := LR;
END;



PROCEDURE CREATE_2DIMR({no}var tbl :  array[lb1..ub1:integer;
					    lb2..ub2:integer] of real);
BEGIN
    {<<< CREATE TABLE >>>}
{    FOR i1:=1 TO dim1 DO
    FOR i2:=1 TO dim2 DO
	tbl[i1,i2]:= 1.0;
}
	tbl[1,2]:= 1.0;
END;

PROCEDURE P;
BEGIN
    R  :=     INTER2DIMR( tblR);
END;

BEGIN
    CREATE_2dimr(tblR);
{    P;}
END.

	The DEBUGGER session log file:

Step
!stepped to TEST2DIM\%LINE 50
!    50:     CREATE_2dimr(tblR);
step/into
!stepped to TEST2DIM\CREATE_2DIMR\%LINE 41
!    41:         tbl[1,2]:= 1.0;
sh symb/type tbl
!data TEST2DIM\CREATE_2DIMR\TBL
!    noncontiguous array descriptor type, 2 dimensions, bounds: [1:11,1:66000], size: 2904000 bytes
!        cell type: atomic type, F_floating, size: 4 bytes
!data TEST2DIM\INTER2DIMR\TBL
!     (type/address information is not available)
eval/addr tbl
!196616
eval/addr/hex tbl
!0000000000030008
eval/addr/hex tbl[1,2]
!000000000003000C
set break/exception
go
!%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=000000010003000C, PC=00000000000201C4, PS=0000001B
!break on exception at TEST2DIM\CREATE_2DIMR\%LINE 41+92
!    41:         tbl[1,2]:= 1.0;
exam/instr @pc
!TEST2DIM\CREATE_2DIMR\%LINE 41+92:              STF             F0,(R1)
exam/hex r1
!TEST2DIM\CREATE_2DIMR\%R1:      000000010003000C
EXIT
T.RTitleUserPersonal
Name
DateLines
827.1HmmmmTLE::GARRISONMegTue Feb 11 1997 12:103
I reproduced this...I'll look a little more closely.

Meg
827.2ANY NEWS???TAV02::MILCHINThu Feb 20 1997 04:186
	HI!

	I just would like to know if there is any progress in testing the
problem reported in .0. 
	REGARDS!
		MICHAEL
827.3It's on the listTLE::GARRISONMegThu Feb 20 1997 12:346
I've only looked at it briefly and don't expect to have time
to get back to it for a couple of weeks.  It appears to have
something to do with the very large array dimensions - but that's
just a guess.

Meg
827.4TLE::REAGANAll of this chaos makes perfect senseWed Mar 26 1997 18:076
    Just for an update.  I've been working on this for a couple of days
    now.  I'm testing a fix and hope to have it fixed in another day
    or two.  I hope to have a network kit out in a a couple of weeks.
    How critical is this to the customer?
    
    				-John
827.5TLE::REAGANAll of this chaos makes perfect senseFri Apr 11 1997 17:524
    OK, after a couple of false starts I got it fixed (I hope!)  The
    fix will be included in the next network kit.
    
    				-John