Software
Product
Description
Software
Product
Description
PRODUCT NAME: |
Compaq C Version 6.4 for OpenVMS Alpha |
25.38.30 |
|
Compaq C Version 6.4 for OpenVMS VAX |
February 2001
DESCRIPTION
Compaq C (formerly DEC C) is an ANSI-compliant implementation
of the C programming language with COMPAQ extensions. The Compaq
C compiler runs under the OpenVMS VAX and OpenVMS
Alpha Operating Systems and generates optimized and
position-independent code.
Compaq C is a native-mode language product, and is integrated
into the OpenVMS VAX and OpenVMS Alpha Common
Language Environments. All OpenVMS VAX and OpenVMS
Alpha system services are available to programs written in
Compaq C. Compaq C programs can invoke, as functions,
modules written in other VAX and Alpha languages.
Compaq C supports OpenVMS VAX and OpenVMS
Alpha Record Management Services (RMS) for sequential file
organizations and associated access methods. Compaq C also
supports stream file-access methods common among many C implementations.
Compaq C provides extensive ANSI C conformance checking, and
supports the lint-like features of the Compaq Source Code Analyzer. The
Compaq Source Code Analyzer allows the programmer to check for
consistent function usage throughout a program environment. Compaq
C also generates complete debug and traceback records for use with
OpenVMS Debug. Debug allows the C programmer to set
breakpoints, examine and modify the contents of user variables, and
selectively halt or continue program execution.
Compaq C on OpenVMS Alpha provides IEEE floating
point support as defined by, and in conformance with, the IEEE Standard.
Features
- Limited support for installing more than one version of Compaq
C on the same node, and allowing users to select which version to
use on a per-process basis.
- Separate modes of compilation to support each of six C dialects:
- A strict ANSI89 mode that compiles according to the original ANSI C
standard (ANSI/ISO/IEC 9899:1990).
- A strict C99 mode that, on OpenVMS Alpha, compiles nearly
in accordance with the 1999 version of the C standard (ANSI/ISO/IEC
9899:1999), except that the support is not complete and has not yet
been verified against conformance suites. This mode may be useful as a
preview of what will be considered conforming source code under the new
standard, but should not be relied upon for production use until a
future release of Compaq C for OpenVMS Alpha that
specifies full conformance. For OpenVMS VAX, this mode is not
supported, and is treated as a synonym for relaxed ANSI mode.
- A relaxed ANSI mode that compiles according to the ANSI standard,
but also accepts those COMPAQ extensions that do not directly conflict
with the semantics of standard C.
- A VAX C mode that supports VAX C extensions
- A common mode that supports many common usage C constructs as
implemented on UNIX systems including Tru64 UNIX (also called "K&R"
C or "pcc" mode)
- A Microsoft compatibility mode that interprets source programs
according to certain language rules followed by the C compiler provided
with the Microsoft Visual C++ compiler product.
In addition, the features specified by Addendum 1 to the ISO C
standard adopted by ISO in November of 1994 (digraphs and the
__STDC_VERSION__ predefined macro) can be added to each of these
dialects except for VAX C mode.
- Data types for numeric, nonnumeric, and systems programming:
- Compaq C supports, 8, 16, and 32-bit signed and unsigned
integers. Compaq C OpenVMS Alpha also supports 64-bit signed
and unsigned integers.
- Compaq C supports an 8-bit _Bool data type for C99.
- Compaq C supports 32-bit float and 64-bit double
floating-point data types. The VAX floating-point formats include
D-float and G-float and are user selectable.
- Compaq C OpenVMS Alpha also supports IEEE floating point
format and offers user selectable 64-bit or 128-bit representation for
the long double data type.
- Compaq C OpenVMS Alpha supports the C99 _Complex keyword
for specifying three types that represent values in the complex plane,
based Cartesian coordinates of type float, double, or long double,
respectively, except that D_float representation is not supported for
_Complex types. Also, the C99-specified set of run-time library
functions for these types is not yet available on OpenVMS
Alpha.
- Compaq C supports passing numeric constants by reference
in function calls.
- Compaq C supports the multibyte and wide-character types
and features of XPG4, with the locale support available in
OpenVMS V6.4 and subsequent versions.
- Compaq C OpenVMS Alpha, on OpenVMS Version 7.0
and later, supports user-controlled features to specify the use of
64-bit pointers that allow applications to exploit the increased
address space capabilities of the Alpha architecture and OpenVMS
Alpha Version 7.0 services. These features include command-line
qualifiers, #pragma directives, and run-time library specifications
that allow the programmer to allocate and access data at run time that
is to be beyond the range of addressing afforded by 32-bit pointers. By
default, programs compiled by earlier versions of the compiler or on
earlier versions of OpenVMS continue to behave as before,
strictly within 32-bit address space. Explicit use of the new compiler
features allow such programs to be extended to exploit the extended
address space with minimal changes to the source code.
- Storage allocation using:
- Reserved words (globalref, globaldef, and globalvalue) for sharing
data among program modules
- Reserved words (readonly, noshare, and psect name specification)
for control of data attributes and data placement
- Reserved words (_align and _unaligned) for specifying the alignment
boundaries of data objects
- Pragmas to control extern models and structure member alignment and
base structure alignment
- Option for running only the preprocessor phase of compilation
- Option for generating include-file dependency information to aid in
construction of files for the Compaq Module Management System
- Pragmas to control compiler options
- Compilation options allowing a choice between fast turnaround and
optimization across compilation units
- Option to generate a file of prototype-style function declarations
suitable for use in a header file from the function definitions (both
prototype-style and old-style) contained in a source file.
- Enhanced diagnostic message controls with the command-line
qualifier /WARNINGS, including the following features:
- specify whether a message is issued only once per compilation, or
at each occurrence
- specify severity of any message with a default severity of
information or warning
- control optional messages using a single numeric "importance level"
- control optional messages using functional groups
- Compiler-generated listing file including optional:
- Source Code
- Include-file contents
- Machine code
- Macro expansion
- Compilation statistics
- Symbol table with attributes of source program identifiers
- Symbol cross reference, showing for each symbol the source lines
where it is defined or used, annotated with type of use
- Built-in functions allow access to a subset of VAX and Alpha
machine instructions. Compaq C OpenVMS Alpha inline-assembly
code is also supported giving access to all Alpha machine-code
instructions and PAL calls.
- Integration into the OpenVMS VAX and OpenVMS
Alpha Common Language Environments:
- Generation of complete debug and traceback records for OpenVMS
VAX and OpenVMS Alpha Debug support
- Conformance to the OpenVMS VAX and OpenVMS Alpha
Calling Standard
- Access to the Common Run-Time Library for general purpose routines
and support of multi-language environments
- Access to the data management facilities of OpenVMS VAX
Record Management Services (RMS) by direct calls to the Common Run-Time
Library
- Support for providing error diagnostics to the Compaq
Language-Sensitive Editor and cross-reference information for the
Compaq Source Code Analyzer
- Support for Common Data Dictionary (CDD)
- Compaq C OpenVMS Alpha support of interaction with
routines executing in translated (VAX) mode
- Extensive global and local optimizations of generated code for
increased performance under OpenVMS
- Extensive control over optimization behavior
- Interface to the curses screen-manipulation package
- Installation kit cooperates with Compaq C++ for
OpenVMS VAX and OpenVMS Alpha systems
Compatibility with Other C Implementations
Compaq C is a conforming hosted implementation of ANSI
X3.159-1989 Programming Language C (ISO/IEC 9899:1990[1994]). It can
operate in five different modes: strict ANSI compatibility, relaxed
ANSI compatibility (ANSI plus Compaq extensions), VAX C compatibility
mode, common C (pcc) compatibility mode, and Microsoft C compatibility
mode. The last three modes provide many features to ease porting from
other environments, though they do not provide 100% emulation of every
feature of a particular version of the compilers used in those
environments. In addition, the relaxed ANSI mode accepts a number of
features from the in-process revision to the C standard (C99) and also
accepts a small number of features present in the GNU C compiler (gcc)
that are sometimes used in Open Source applications and header files on
the Linux platform (e.g. the __typeof__ operator).
While many programs written in C for other compilers can be
successfully recompiled under Compaq C, some incompatibilities
among implementations exist.
Run-Time Library for C Applications
With the exception of OpenVMS VAX Operating Systems prior to
V6.1, the complete Compaq C Run-Time Library that is needed
for use with Compaq C is distributed with the OpenVMS
VAX and OpenVMS Alpha Operating Systems. The Compaq
C Run-Time Library provides routines to perform input/output,
character and string handling, mathematical computations, memory
allocation, and emulation of selected UNIX[R] features. These routines
are provided both in shared image and object module library form.
Run-time Library Redistribution
The Compaq C kit may include run-time library components in
either shareable image or object library form. Compaq grants the user a
nonexclusive royalty-free worldwide right to reproduce and distribute
these Run-Time Libraries ("the RTLs") provided that the user:
- distributes the RTLs only in conjunction with and as a part of the
users software application product, which is designed to operate in the
OpenVMS environment;
- does not use Compaq's name, logo, or trademarks to market the
user's software application product;
- includes Compaq's copyright notice for Compaq C on one of
the following:
- the user's product disk label
- each copy of the application
- the title or copyright page of the documentation for the software
application product
- agrees to indemnify, hold harmless, and defend Compaq from and
against any claims or lawsuits, including attorney's fees, that arise
or result from the use or distribution of the software application
product. Except as expressly provided herein, Compaq grants no implied
or express license under any of its patents, copyrights, trade secrets,
trademarks, or any license or other proprietary interests and rights.
For OpenVMS Alpha systems, the only RTL component that may be
redistributed is DECC$CRTL.OLB. Refer to the Compaq C V6.4 for
OpenVMS Alpha Release Notes for instructions on redistributing
this RTL component. For OpenVMS VAX systems, the only RTL
components that may be redistributed are DECC$CRTL.OLB and AACRT060.A.
Refer to the Compaq C V6.4 for OpenVMS VAX Release
Notes for instructions on redistributing these RTL components.
HARDWARE REQUIREMENTS
Processors Supported:
Any Alpha system capable of running the
OpenVMS Alpha Operating System Version 6.2 to 7.2-1 or any VAX
capable of running the OpenVMS Operating System V5.5-2 to 7.2.
Refer to the OpenVMS Operating System's Software Product
Description (SPD 25.01.xx) for details.
The following table shows disk space requirements for installation of
Compaq C for OpenVMS. These numbers reflect choosing
all of the default installation options, which does not install the
optional document sets in postscript, text, and html formats. When the
optional documents are selected for installation, an additional 80,000
blocks (40 MB) are required during installation, and the permanent
requirement is increased by 40,000 blocks (20 MB).
Disk Space Requirements (Block Cluster Size = 1):
|
Compaq C OpenVMS VAX
|
Compaq C OpenVMS Alpha
|
Disk space required for installation:
|
100,000 blocks
|
100,000 blocks
|
|
(50 MB)
|
(50 MB)
|
|
|
|
Disk space required for permanent use:
|
80,000 blocks
|
80,000 blocks
|
|
(40 MB)
|
(40 MB)
|
These counts refer to the disk space required on the system disk. The
sizes are approximate; actual sizes may vary depending on the user's
system environment, configuration, and software options.
Memory Requirements for DECwindows Support:
The minimum supported memory for this application running in a
standalone DECwindows environment with both the client and server
executing on that same system is 8 Mbytes.
OPTIONAL HARDWARE
On VAX systems,
only D_,F_,and G_Floating floating point data types can be used in
programs written in Compaq C, which does not support the
H_Floating type. (Compaq C on Alpha systems supports IEEE floating
point types in addition to these VAX types). Floating-point-intensive
applications should be run on configurations with the appropriate
hardware support for the floating-point data types being used. Consult
the base operating system Software Product Description (SPD) for the
appropriate floating-point accelerator or other floating-point hardware
appropriate for your configuration.
SOFTWARE REQUIREMENTS
- OpenVMS VAX Operating System, Version 5.5-2 to Version 7.2
- OpenVMS Alpha Operating System Version 6.2 to Version 7.2-1
SOFTWARE LICENSING
This software is furnished only under a license. For more information
about Compaq's licensing terms and policies, contact your local Compaq
office.
LICENSE MANAGEMENT FACILITY SUPPORT:
These layered products support the OpenVMS License Management
Facility.
License units for this product are allocated on a Capacity Use,
Personal and Concurrent Use basis.
Each Personal Use license allows one identified individual to use the
layered product. Each Concurrent Use license allows any one individual
at a time to use the layered product.
For more information on the License Management Facility, refer to the
OpenVMS Operating System Software Product Description or the
License Management Facility manual of the OpenVMS Operating
System documentation set. For more information about Compaq's licensing
terms and policies, contact your local Compaq office.
CLUSTER ENVIRONMENT
This layered
product is fully supported when installed on any valid and licensed
OpenVMS Cluster* configuration without restrictions. The
HARDWARE REQUIREMENTS section of this product's Software Product
Description detail any special hardware required by this product.
- OpenVMS Cluster configurations are fully described in the
OpenVMS Cluster Software Product Description (SPD 29.78.xx)
and include CI, Ethernet, and Mixed Interconnect configurations.
OPENVMS TAILORING CLASSES
The followingOpenVMS classes are required for full
functionality of this layered product:
- OpenVMS Required Save Set
- Programming Support
- Utilities
For more information on OpenVMS classes and tailoring, refer
to the OpenVMS Operating System Software Product Description
(SPD 25.01.xx)
OPTIONAL SOFTWARE
- Compaq DECset Release 12.4 forOpenVMS Alpha Systems or
Compaq DECset Release 12.4 for OpenVMS VAX Systems which
includes:
- Compaq Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for
OpenVMS Systems
- Compaq DIGITAL Test Manager (DTM) for OpenVMS Systems
- Compaq Performance and Coverage Analyzer (PCA) for OpenVMS
Systems
- Compaq Code Management System (CMS) for OpenVMS Systems
- Compaq Module Management System (MMS) for OpenVMS Systems
For more information on Compaq DECset Release 12.4 for OpenVMS
Alpha Systems, refer to the Software Product Description (SPD
42.29.xx).
For more information on Compaq DECset Release 12.4 for
OpenVMS VAX Systems, refer to the Software Product Description
(SPD 27.07.xx)
- DEC CDD/Repository Version 5.3 for OpenVMS VAX and
OpenVMS Alpha.
GROWTH CONSIDERATIONS
The minimum hardware and software requirements for any future version
of this product may be different from the requirements for the current
version.
DISTRIBUTION MEDIA
Compaq C OpenVMS VAX ONLY:
Compaq C for OpenVMS VAX is available on the
OpenVMS VAX Software Layered Products Library Package
(QA--5G88A--H8). The library package includes media and documentation
on CD-ROM. Media/documentation kits containing only
the Compaq C for OpenVMS VAX product are available
separately. The kits contain media on Magtape (9--track 1600 BPI) or
TK50 Streaming Tape with hardcopy documentation.
Compaq C OpenVMS Alpha ONLY:
Compaq C for OpenVMS Alpha is available on the OpenVMS
Alpha Software Products Layered Library Package (QA--03XAA--H8).
The library package includes media and documentation on
CD-ROM. A media/documentation kit containing only the
Compaq C for OpenVMS Alpha product is available separately
(QA--MU7AA--H8). Included in the kit is CD-ROM media and hardcopy
documentation.
SOFTWARE WARRANTY
This software is provided by Compaq with a 90 day conformance warranty
in accordance with the Compaq warranty terms applicable to the license
purchase.
ORDERING INFORMATION
Compaq C for OpenVMS VAX ONLY:
Software Licenses:
Personal Use : QL--015AA--**
Concurrent Use : QL--015AA--**
Traditional/Capacity Use: QL--015A*--**
Software Media/Documentation: QA--015AA--**
Software Documentation (Hard Copy): QA--015AA--GZ
Software Product Services: QT--015A*--**
Compaq C for OpenVMS Alpha ONLY:
Software Licenses:
Personal Use : QL--015AA--**
Concurrent Use : QL--015AA--**
Traditional/Capacity Use: QL--MU7A*--**
Software Media/Documentation: QA--MU7AA--H8
Software Documentation (Hard Copy): QA--MU7AA--GZ
Software Product Services: QT--MU7A*--**
- Denotes variant fields. For additional information on available
licenses, services, and media, refer to the appropriate price book.
The ordering information is valid at time of release. Please
contact your local Compaq office for the most up-to-date information.
SOFTWARE PRODUCT SERVICES
A variety of service options are available from Compaq. For more
information, contact your local Compaq office.
TRADEMARK INFORMATION
©2001 Compaq Computer Corporation.
COMPAQ, the Compaq logo, and SmartStart Registered in the U.S. Patent
and Trademark Office. Oracle is a registered trademark and Oracle
CDD/Repository and Oracle CDD/Administrator are trademarks of Oracle
Corporation. Microsoft, Windows, and Visual C++ are trademarks of
Microsoft Corporation in the United States and other countries. All
other product names mentioned herein may be trademarks of their
respective companies.
Confidential computer software. Valid license from Compaq or authorized
sublicensor required for possession, use or copying. Consistent with
FAR 12.211 and 12.212, Commercial Computer Software, Computer Software
Documentation, and Technical Data for Commercial Items are licensed to
the U.S. Government under vendor's standard commercial license.
Compaq shall not be liable for technical or editorial errors or
omissions contained herein. The information in this document is
provided "as is" without warranty of any kind and is subject to change
without notice. The warranties for Compaq products are set forth in the
express limited warranty statements accompanying such products. Nothing
herein should be construed as constituting an additional warranty.
privacy and legal statement