ECO NUMBER: CC01057 ----------- PRODUCT: DEC C for OpenVMS Alpha -------- UPDATED PRODUCT: DEC C for OpenVMS Alpha 5.7 ---------------- APPRX BLCK SIZE: 32886 ---------------- Cover Letter for DEC C V5.7 ECO Kit CC01057 for OpenVMS Alpha. ECO Kit CC01057 Description The DEC C V5.7 ECO 1 for OpenVMS Alpha Release Notes contain a complete explanation of this kit. Below is a brief description of the problems addressed by this kit: o A developers command line option /switch=weak_volatile has been enabled to specify that code generated for volatile accesses to objects smaller than 32-bits should not use the load-locked/store-conditional instruction sequence. In rare kinds of code making use of direct memory-mapped I/O devices, the locked sequences can cause hangs. o Intrinsic functions used in combination with 64-bit pointers could produce a number of spurious compiler diagnostics. o The pow intrinsic erroneously produced a zero result for a negative base value. o /preprocessor_only output stripped the leading L character from wide string literals. o The expansion of the offsetof macro could trigger an asser- tion failure in the compiler under the /noopt qualifier. o The compiler sometimes generated procedure prologues that violated the OpenVMS calling standard, leading to debugger complaints about corrupt stack, and possible real stack corruption in threaded code. o The compiler generated incorrect code when casting a function pointer to a pointer to a procedure descriptor, which was then used to access a field in the procedure descriptor other than the code address. o Negative literal values in a shareable image produced by the OpenVMS message compiler could lose sign extension when accessed from a C programs and cast to type int. 1 Installation Overview This ECO kit is installed using VMSINSTAL at the DCL prompt from the SYSTEM account as follows: @SYS$UPDATE:VMSINSTAL CC01057 [location of the saveset] The installation procedure processing is the same as for the original V5.7-004 kit, the difference being in the content of the executable images for the compiler and its message library. The saveset location can be a tape drive or a disk directory that contains the kit saveset. If the saveset is copied to disk, it must not be renamed. 2 Copyright (c) Compaq Computer Corporation 1998. All Rights reserved. This software is proprietary to and embodies the confidential technology of Compaq Computer Corporation. Possession, use, or copying of this software and media is authorized only pursuant to a valid written license from Compaq or an authorized sublicensor. This ECO has not been through an exhaustive field test process. Due to the experimental stage of this ECO/workaround, Compaq makes no representations regarding its use or performance. The customer shall have the sole responsibility for adequate protection and back-up data used in conjunction with this ECO/workaround.