[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
| 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 05: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.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 827.1 | Hmmmm | TLE::GARRISON | Meg | Tue Feb 11 1997 09:10 | 3 | 
|  | I reproduced this...I'll look a little more closely.
Meg
 | 
| 827.2 | ANY NEWS??? | TAV02::MILCHIN |  | Thu Feb 20 1997 01:18 | 6 | 
|  | 	HI!
	I just would like to know if there is any progress in testing the
problem reported in .0. 
	REGARDS!
		MICHAEL
 | 
| 827.3 | It's on the list | TLE::GARRISON | Meg | Thu Feb 20 1997 09:34 | 6 | 
|  | 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.4 |  | TLE::REAGAN | All of this chaos makes perfect sense | Wed Mar 26 1997 15:07 | 6 | 
|  |     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.5 |  | TLE::REAGAN | All of this chaos makes perfect sense | Fri Apr 11 1997 13:52 | 4 | 
|  |     OK, after a couple of false starts I got it fixed (I hope!)  The
    fix will be included in the next network kit.
    
    				-John
 |