| 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 |
A customer with a problem ran fine in VAX and was ported to Alpha. They
have DEC Pascal V5.4 and this version returned error when they
tried to
use ADD_INTERLOCK. Then they upgrade their DEC Pascal to V5.5-55.
This version gives another problem when they tried to use packed record.
During compilation, a warning was prompted with command:
$PASCAL/CHECK/OBJ=ABS$OBJ:ETSMAIN.OBJ ABS$SRC:ETSMAIN.PAS
ADDRESS(DEUNA_setchar_buff.nma$c_pcli_bus_id);
...........................................^
%PASCAL-W-PACKSTRUCT, Component of a PACKED structured type
-PASCAL-I-NOTBEADDR, - may not be parameter to ADDRESS at line
number 2090 in file ABS$DEV:[ABS.SRC]ETSMAIN.PAS;2
They ignored this warning and ran the program. The problem gave the
error:
%SYSTEM-F-BADPARAM, bad parameter value
%SYSTEM-F-BADPARAM, bad parameter value
when they were doing a QIO.
Anyone seen similar case before?
Regards,
Mickwid.
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 822.1 | TLE::REAGAN | All of this chaos makes perfect sense | Fri Jan 24 1997 08:47 | 19 | |
On VAX, the default alignment is "byte alignment". Ie, fields in
records are positioned on the next available byte unless otherwise
specified. On Alpha, the default alignment is "natural alignment".
Ie, fields in records are positioned on a boundary that is based
on the size of the field.
Also, on VAX, BOOLEAN and enumerated types are a single byte big (
larger enumerateds are a word big). On Alpha, BOOLEANs and
enumerated types are longword in size.
You probably have a record that didn't lay out like you wanted.
You can use the /ALIGN=VAX/ENUM=BYTE on the command line to get
back to the VAX behavior.
Have you look at the "Migrating from OpenVMS VAX to OpenVMS Alpha"
in the Pascal manuals?
-John
| |||||