VSI BASIC V1.11-1 for OpenVMS x86-64
Release Notes
- Operating System:
- VSI OpenVMS x86-64 Version 9.2-3 or higher
1. Overview of VSI BASIC
VSI BASIC V1.11-1 is a release of BASIC on OpenVMS x86-64. It is based on VSI BASIC on OpenVMS IA-64 for source compatibility. There may be platform-specific features from OpenVMS Alpha and OpenVMS IA-64 that may not be supported.
The compiler requires OpenVMS x86-64 version 9.2-3 or higher.
The BASIC/VERSION
string is:
VSI BASIC V1.11-1 (GEM 50nnn) on OpenVMS x86-64 Systems
2. VSI BASIC Documentation
The VSI BASIC documentation set on the VSI documentation website has not yet been updated with x86-64 support. It will be updated in the next several months.
3. VSI BASIC for x86-64 Systems Known Issues
The
/MACHINE_CODE
qualifier is ignored. Use theANALYZE/OBJECT/DISASSEMBLE
command to product a list of the machine code instructions generated by the compiler.The
/SEPARATE_COMPILATION
qualifier is ignored. We will investigating how to implement this feature with the LLVM code generator.XFLOAT floating is not currently supported due to missing support in the BASIC RTL, the Math RTL, and in conversion routines in LIBRTL.EXE. All of this will be provided in a future release.
The compiler does not produce a warning on decimal overflow in an initializer.
The compiler has much improved debug information compared to the V1.10 release. In addition, the debugger in OpenVMS V9.2-3 update 2 contains additional fixes for BASIC.
4. Problems Corrected Since VSI BASIC V1.10
The compiler now correctly parses XFLOAT literals. However XFLOAT support is only partially working as many of the RTLs on the system to read/write XFLOATs do not yet support these 128-bit long double floating types.
The optimizer would cause the compiler to generate incorrect debug information for tracebacks. A traceback might print something like
Error: traceback pc= 0000xxxx was not found
This problem has been fixed.
The debug information for routine prologues and epilogues have been improved for better debugging stepping.
Correctly detect and signal integer divide by zero errors.
The compiler would generate invalid DWARF for certain filenames resulting in incorrect source line debugger. This problem has been fixed.
The compiler would generate invalid DWARF for STRING variables. This problem has been fixed.
The compiler could run out of memory and ACCVIO if the BASIC source contain a very large variable that is initialized at compile-time. The problem has been fixed.
The compiler would create a memory leak when using the WHEN ERROR clause resulting in an ACCVIO. This problem has been fixed.
Various bugs related to optimizations found by other compilers are also included.