 


                              Compaq

Software
Product
Description

___________________________________________________________________

PRODUCT NAME:  Compaq C Version 6.4 for OpenVMS Alpha      25.38.30
               Compaq C Version 6.4 for OpenVMS VAX


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 gen-
erates 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 Open-
VMS VAX and OpenVMS Alpha system services are available to programs
written in Compaq C. Compaq C programs can invoke, as functions, mod-
ules written in other VAX and Alpha languages.

Compaq C supports OpenVMS VAX and OpenVMS Alpha Record Management Ser-
vices (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 Com-
paq Source Code Analyzer allows the programmer to check for consis-
tent 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 con-
tinue program execution.

                                                      February 2001

 

Compaq C on OpenVMS Alpha provides IEEE floating point support as de-
fined by, and in conformance with, the IEEE Standard.

Features

o  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.

o  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 ac-
      cordance 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 stan-
      dard, but also accepts those COMPAQ extensions that do not di-
      rectly 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.


                                 2

 

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.

o  Data types for numeric, nonnumeric, and systems programming:

   -  Compaq C supports, 8, 16, and 32-bit signed and unsigned inte-
      gers. 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 spec-
      ifying 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 runtime 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, sup-
      ports 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

                                 3

 

      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 be-
      have 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.

o  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 align-
      ment boundaries of data objects

   -  Pragmas to control extern models and structure member alignment
      and base structure alignment

o  Option for running only the preprocessor phase of compilation

o  Option for generating include-file dependency information to aid
   in construction of files for the Compaq
   Module Management System

o  Pragmas to control compiler options

o  Compilation options allowing a choice between fast turnaround and
   optimization across compilation units

o  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.

o  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

                                 4

 

   -  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

o  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

o  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.

o  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

                                 5

 

   -  Support for providing error diagnostics to the Compaq Language-
      Sensitive Editor and cross-reference information for the Com-
      paq Source Code Analyzer

   -  Support for Common Data Dictionary (CDD)

   -  Compaq C OpenVMS Alpha support of interaction with routines 
      executing in translated (VAX) mode

o  Extensive global and local optimizations of generated code for 
   increased performance under OpenVMS

o  Extensive control over optimization behavior

o  Interface to the curses screen-manipulation package

o  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 success-
fully recompiled under Compaq C, some incompatibilities among 
implementations exist.

Run-Time Library for C Applications

                                 6

 

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 share-
able 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:

o  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;

o  does not use Compaq's name, logo, or trademarks to market the user's
   software application product;

o  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

o  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.

                                 7

 

For OpenVMS Alpha systems, the only RTL component that may be redis-
tributed 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         100,000 blocks      100,000 blocks
required for         (50 MB)             (50 MB)
installation:                             

Disk space         80,000 blocks      80,000 blocks
required for          (40 MB)            (40 MB)
permanent use:



                                 8

 

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 stan-
dalone DECwindows environment with both the client and server execut-
ing 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 hard-
ware 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

o  OpenVMS VAX Operating System, Version 5.5-2 to Version 7.2

o  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.








                                 9

 

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 documen-
tation 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:

o  OpenVMS Required Save Set

o  Programming Support



                                10

 

o  Utilities

For more information on OpenVMS classes and tailoring, refer to the
OpenVMS Operating System Software Product Description (SPD 25.01.xx)

OPTIONAL SOFTWARE

o  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 Sys-
tems, refer to the Software Product Description (SPD 27.07.xx)

o  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.





                                11

 

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:

                                12

 

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

Copyright 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.




                                13

 

Compaq shall not be liable for technical or editorial errors or omis-
sions 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.


































                                14
