Library /sys$common/syshlp/basichelp.hlb Release Notes, Known Problems and Restrictions *Conan The Librarian (sorry for the slow response - running on an old VAX) |
The following summarizes problems and restrictions in VAX BASIC V3.9. o The most negative integer constants cannot be represented. The compiler incorrectly issues an error on references to constants representing the most negative integer of each of the integer data types. The following table gives appropriate workarounds. problem integer workaround BYTE -128% BYTE -127% - 1% WORD -32768% WORD -32767% - 1% LONG -2147483648% LONG -2147483647% - 1% o Definitions for RAB$V..., FAB$V..., etc. are not included in BASIC$STARLET.TLB since there is no support for bit fields in the BASIC language. o If a VAX BASIC program contains more than 32767 lines of code, the compiler will feed the debugger incorrect source line information for the lines above 32767. o Programs using records 32768 to 65535 bytes in size as array elements generate the RECTOOLAR error message when compiled /DEBUG or compiled using the RUN command within the BASIC environment, and no object file is generated. These programs do not generate the error otherwise and can be compiled and linked to produce runnable programs. o You cannot concatenate programs at DCL level with a plus sign (+) if one or more of the programs contain no BASIC line numbers. For example, the following command will generate an error if either A.BAS or B.BAS contains no line numbers: $ BASIC A.BAS+B.BAS o VAX BASIC allows a maximum of 65535 dynamic string variables, dynamic string array elements, and string temporaries in a single compilation unit. An attempt to allocate more than 65535 dynamic strings may result in a Stack Overflow error at run time. o In a VAX BASIC subprogram, a parameter passed to the subprogram that is an RFA array cannot be the target parameter of a call to an external RFA function. The VAX BASIC compiler reports an internal coding error during compilation of such a subprogram. Workarounds for this problem include passing the RFA array to the subprogram by reference or assigning the result via an intermediate variable. o Sharing a MAP between a BASIC module and a shareable image does not work if the non-shared image is run in the BASIC environment. o When using the CTRLC function through a SET HOST session, the CTRLC function is not always executed. If the same program is run from a local session, it behaves correctly. o Failures on accesses to virtual arrays when made from within a WHEN block protected region will cause the application to transfer control to the default error handling mechanism (ON ERROR GOTO) if it exists. All upper level protected region handlers are ignored. Please note that this problem has existed ever since WHEN blocks were first introduced. It may, however, be fixed in a future release of the OpenVMS for VAX Systems. o A varying string data type that is part of a record structure pulled from the CDD into a BASIC program may be assigned a length different than what is specified in CDD. This will be fixed in a future release of the CDD/Repository. o Under some circumstances, VAX BASIC may produce an SCA analysis file with the wrong format for a program using EXTERNAL functions. o Using the RFA data type as the data type of a FUNCTION may cause a reserved address fault at run-time. o Cross-reference listings incorrectly list MOVE TO statements as destructive references of the variables whose values are being moved into the I/O buffer. MOVE TO statements are not destructive references. o If your program contains a comment line beginning with a BASIC line number, the VAX BASIC compiler generates incorrect OpenVMS DEBUGGER line number information. If the first line after the comment also has a BASIC line number and that line is the target of a GOTO or GOSUB, then any breakpoint that is set on that GOTO or GOSUB target is not triggered. o If an array element specification subscripted with a conditional expression is used as the conditional expression in a WHILE or UNTIL statement, an internal coding error results. o The /NOWARN qualifier does not suppress the warning 'BASIC-I- DUPLNFND, Duplicate line number found'.
Additional Information (explode) :
|