BASICHELP.HLB  —  Release Notes, Known problems and Restrictions, General Problems
 The following are known general problems with I64 BASIC V1.8-004.

    o  Floating point numbers displayed in E-format may differ.

       In some cases floating point numbers displayed in E-format may
       contain an additional zero in the exponent field. For example,
       6.0E+002 instead of 6.0E+02

    o  Floating point exceptions not accurately reported.

       In some cases a floating point exception may not be accurately
       reported. For example: a divide-by-zero exception may be
       reported as an invalid-number.

    o  Inability to open UNDEFINED type file for output.

       It is currently not possible to open a file of type UNDEFINED
       for output.

       Workaround: Create an empty file with the desired attributes
       by some other means, for example with a program in a different
       language or with the DCL command CREATE/FDL. Then in BASIC
       open the file for input with the APPEND attribute. The
       following code fragment illustrates the technique.

       %INCLUDE "$FDLDEF" %FROM %LIBRARY "SYS$LIBRARY:BASIC$STARLET"

       EXTERNAL INTEGER FUNCTION FDL$CREATE

       MAP (outbuff) STRING myrec = 512

       DECLARE INTEGER i, fdlstat
       DECLARE STRING resultname

       fdlstat = FDL$CREATE ("RECORD; FORMAT UNDEFINED;",                    &
                             "myfilename", ".DAT", resultname,,              &
                             FDL$M_FDL_STRING +                              &
                             FDL$M_DEFAULT_STRING +                          &
                             FDL$M_FULL_OUTPUT)

       OPEN resultname FOR INPUT AS FILE #3, ORGANIZATION UNDEFINED,         &
                                             ACCESS APPEND,                  &
                                             MAP outbuff,                    &
                                             RECORDTYPE ANY

       myrec = ...

       PUT #3

    o  DET incorrect with default XFLOAT type.

       When the default floating point type is set to XFLOAT, the
       result of the determinant statement (DET) is incorrect.

       Workaround: Use explicitly declared variables of XFLOAT type,
       and avoid using XFLOAT type as the default floating point type
       when the DET statement is used.

    o  The most-negative integer constants cannot be represented.

       The compiler incorrectly gives an integer overflow message
       when the most negative integer constants:

               BYTE -128%
               WORD -32768%
               LONG -2147483648%

       are used.

       Workaround: Use the appropriate expression:.

               BYTE -127% - 1%
               WORD -32767% - 1%
               LONG -2147483647% - 1%

    o  Passed by value quadword arguments in STARLET are not yet
       supported.

       Since routines that declare pass by value quadword parameters
       are not yet supported by BASIC, declarations of routines that
       do this are not included in BASIC$STARLET.TLB.

       Workaround: Use of the these routines should be avoided until
       full support of 64-bit quantities is provided.

    o  The CMA facility found in BASIC$STARLET.TLB is incompatible
       with BASIC.

       BASIC is not currently thread safe and will not work with the
       CMA$DEF module in BASIC$STARLET.TLB. Compiling it with BASIC
       results in a number of Record type undefined errors.

       Workaround: BASIC does not support the CMA facility and
       compiling the CMA$DEF module should be avoided.
Close Help