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) :

  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.