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 |
<<< TURRIS::DISK$NOTES_PACK:[NOTES$LIBRARY]PASCAL.NOTE;2 >>> -< DEC Pascal Notes >- ================================================================================ Note 2665.0 %descr passes wrong datatype in descriptor 1 reply LNZALI::BACHNER "Mouse not found. Click OK to conti" 58 lines 21-MAR-1997 09:27 -------------------------------------------------------------------------------- DEC Pascal V5.5-54 OpenVMS VAX V7.0 When a program passes [byte] -128..127 or [word] -32768..32767 variables by descriptor, the datatype in the descriptor is always set to longword integer. The behaviour was correct with V5.1 of the compiler (I could not check other versions in between yet). Following are two sample source files which illustrate the problem. Is it already a known problem or should I IPMT it ? Thanks for your help, Hans. --------------------- sample main program ----------------------- [inherit("sys$library:starlet.pen")] program siemens_main (output); TYPE $byte = [byte] -128..127; $word = [word] -32768..32767; var element : $byte; scaling : $word; PROCEDURE WRITEATTR ( DSC: DSC1$TYPE ); external; begin writeattr ( %descr element ); writeattr ( %descr scaling ); end. --------------------- sample subprogram ----------------------- [inherit("sys$library:starlet.pen")] module siemens_test (output); TYPE $byte = [byte] -128..127; $word = [word] -32768..32767; [GLOBAL] PROCEDURE WRITEATTR ( DSC: DSC1$TYPE ); BEGIN WITH DSC DO BEGIN writeln (dsc$b_dtype); { DSC$B_DTYPE is always 8 (longword integer), but should be 6 for the $byte argument and 7 for the $word argument) } end{ with }; end; end.
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
835.1 | TLE::REAGAN | All of this chaos makes perfect sense | Fri Mar 21 1997 11:16 | 5 | |
It changed sometime between V5.4-46 and V5.5-50. That narrows it down to a couple of months. I can see the difference in the intermediate code... -John | |||||
835.2 | TLE::REAGAN | All of this chaos makes perfect sense | Fri Mar 21 1997 12:56 | 6 | |
OK, I found it. It was a simple error added last February for another fix. This will be in the next kit. I'd guess the next network kit might be in a couple of weeks. Haven't picked the exact dates for the next SSB/cdrom kit yet... -John |