HP BASIC for OpenVMS Alpha Systems V1.7 Release Notes Summary of Alpha BASIC V1.7 November 2007 © 2007 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documen- tation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. HP shall not be liable for technical or editorial errors or omissions contained herein. The information is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for HP products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty. Hewlett-Packard Company Palo Alto, California i CONTENTS 1 Release Summary...................................... 1 2 General Notes........................................ 1 3 Feature enhancements................................. 2 4 Problems In Alpha BASIC fixed for V1.7............... 2 5 Known Problems and Restrictions in Alpha BASIC V1.7.. 2 5.1 General Problems.................................. 2 6 HP BASIC for OpenVMS Alpha Systems Documentation and Online Information................................... 3 6.1 Online Release Notes and Help File................ 3 6.1.1 HP BASIC for OpenVMS Alpha Systems Online Release Notes.................................. 3 6.1.2 Alpha BASIC DCL Help........................... 4 6.1.3 Alpha BASIC Language Topics Help............... 4 7 Reporting problems with Alpha BASIC V1.7............. 4 iii Release Notes for Alpha BASIC V1.7 1 Release Summary HP BASIC for OpenVMS Alpha Systems is a native compiler that runs on and generates code to run on OpenVMS Alpha systems. 2 General Notes o Throughout these notes, the term HP BASIC or the name BASIC used alone, applies to HP BASIC for OpenVMS I64 Systems, HP BASIC for OpenVMS Alpha Systems, and HP BASIC for OpenVMS VAX Systems. The following terms refer to information that applies specifically to the corresponding product. Alpha BASIC - HP BASIC for OpenVMS Alpha Systems I64 BASIC - HP BASIC for OpenVMS I64 Systems VAX BASIC - HP BASIC for OpenVMS VAX Systems o Alpha BASIC V1.7 minimally requires OpenVMS Alpha Version 6.2 to run. o This kit includes an updated RTL. This RTL is installed automatically if it is newer than the currently installed version. It may also be extracted from saveset C for in- stallation as necessary. The commands for doing this are as follows: $ BACKUP/SELECT=DEC$BASRTL.EXE BASIC017.C/SAVE DEC$BASRTL.EXE $ COPY DEC$BASRTL.EXE SYS$COMMON:[SYSLIB] $ INSTALL REPLACE SYS$LIBRARY:DEC$BASRTL ! on each node in the cluster $ LIBRARY/REPLACE SYS$COMMON:[SYSLIB]IMAGELIB.OLB - SYS$COMMON:[SYSLIB]DEC$BASRTL.EXE Note that if OpenVMS is updated, it may be necessary to reinstall BASIC and/or the updated RTL. o When linking programs compiled with this compiler you may receive messages similar to %LINK-I-IDMISMCH, GSMATCH of 04,0003E9 in shareable image DBAS6$:[DEC$BASRTL.OBJ]DEC$BASRTL.EXE;20 differs from GSMATCH of 04,0003E8 in shareable image library ALPHA$COMMON:[SYSLIB]IMAGELIB.OLB;1 %LINK-I-DATMISMCH, creation date of 1-FEB-2000 10:21 in shareable image DBAS6$:[DEC$BASRTL.OBJ]DEC$BASRTL.EXE;20 differs from date of 4-MAY-1995 22:38 in shareable image library ALPHA$COMMON:[SYSLIB]IMAGELIB.OLB;1 These may be safely ignored. o By default, programs are compiled at optimization level 4 (/OPT=LEVEL=4), the highest level of optimization. If you encounter problems with the generated code, try compiling the program with a lower level of optimization. This may correct the problem. Please report any problems to HP, even if the program works correctly at a lower optimization level. 1 Release Notes for Alpha BASIC V1.7 3 Feature enhancements Some minor feature enhancements have been made for version 1.7. These include: o Routine parameters that are passed by reference whose address is not aligned no longer generate alignment faults. o Various diagnostic messages have been improved. 4 Problems In Alpha BASIC fixed for V1.7 A number of problems reported in Alpha BASIC have been fixed in Alpha BASIC V1.7. The known problems that have been fixed include: o The display of S-Float and T-Float constants in listing files no longer causes an error. 5 Known Problems and Restrictions in Alpha BASIC V1.7 5.1 General Problems The following are known general problems with Alpha BASIC V1.7. o Inability to open an 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 dif- ferent 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 2 Release Notes for Alpha BASIC V1.7 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. 6 HP BASIC for OpenVMS Alpha Systems Documentation and Online Information 6.1 Online Release Notes and Help File Alpha BASIC provides the following online information, which is copied to the user's system during installation: o The HP BASIC for OpenVMS Alpha Systems online Release Notes o Alpha BASIC DCL Help o Alpha BASIC Language Topics Help 6.1.1 HP BASIC for OpenVMS Alpha Systems Online Release Notes The HP BASIC for OpenVMS Alpha Systems online Release Notes provide a copy of these notes online. After Alpha BASIC has been installed, the online Release Notes can be displayed on the screen using the TYPE command: $ TYPE/PAGE SYS$HELP:BASIC01n.RELEASE_NOTES For example, the Release Notes for Version 1.7 are named BA- SIC017.RELEASE_NOTES. 3 Release Notes for Alpha BASIC V1.7 To display or print the Alpha BASIC Release Notes before in- stalling Alpha BASIC, specify OPTIONS N at the end of the @VM- SINSTAL command line (see the Alpha BASIC installation guide). 6.1.2 Alpha BASIC DCL Help The Alpha BASIC DCL HELP module in SYS$HELP:HELPLIB.HLB provides online access to Alpha BASIC DCL help. This help describes all the qualifiers of the BASIC compiler. To view the online Alpha BASIC DCL help file using the HELP command, type: $ HELP BASIC For example, to display help on the /LINES qualifier type: $ HELP BASIC /LINES You can abbreviate the HELP command words. For instance, to specify help on the /SEPARATE_COMPILATION qualifier, you might use the following command: $ HELP BAS /SEP Alternatively, you can extract the module BASIC from the help library SYS$HELP:HELPLIB.HLB to a separate file. Once extracted to a file, use the SEARCH command or an editor to look up items in the file. To extract the BASIC DCL HELP module from the help library: $ LIBRARY/EXTRACT=BASIC/OUTPUT=BASIC_HELP.TXT SYS$HELP:HELPLIB.HLB 6.1.3 Alpha BASIC Language Topics Help HELP on BASIC language topics, available from the VAX BASIC environment is accessible from DCL in Alpha BASIC. For help on language features, type the following command at the DCL prompt: $ HELP/LIBRARY=BASICHELP Alternately, a symbol can be defined to access help on BASIC language features directly. For example, the DCL command: $ BASHELP == "HELP /LIBR=BASICHELP" will allow you to type: $ BASHELP BASIC-topic 7 Reporting problems with Alpha BASIC V1.7 If you experence a problem, please file a PTR problem report, including enough information to reproduce the problem. Thank you for your continued support of HP BASIC for OpenVMS Alpha Systems. 4