A VAX C to DEC C Differences

This appendix documents many features that distinguish DEC C for OpenVMS Systems from VAX C Version 3.2.

This appendix was written for the first release of DEC C as a guide for installations migrating from VAX C to DEC C. It is not intended to be a complete compendium of new features for all DEC C versions. For a summary of new features for the current version of the compiler, see the New and Changed Features section in the Preface of this manual. For additional help migrating from VAX C to DEC C, see the DEC C Migration Guide for OpenVMS VAX Systems (VAX only).

The major focus of DEC C for OpenVMS Systems is to bring it into full conformance with the ANSI C Standard. The language described by the ANSI C Standard differs in many ways from the language originally implemented by VAX C. These differences include additional language features and constructs, the removal of obsolete features and usages, and a number of other changes that generally involve a tightening up of semantic rules.

Some of the new ANSI C Standard features have already been implemented in previous versions of VAX C. Some of these are: support for function prototypes, the const and volatile type qualifiers, and the void type specifier.

Although every attempt has been made to maintain compatibility with earlier versions of the VAX C compiler, many of the changes required to bring the compiler into conformance with the ANSI C Standard would introduce unavoidable incompatibilities with these earlier versions. For example, VAX C supports a number of language and semantic extensions that are not ANSI-conformant.

Therefore, to provide compatibility with previous versions of the compiler, DEC C for OpenVMS Systems supports several modes of operation:

Note that some of the language changes dictated by the ANSI C Standard are present in VAX C mode. Some of these changes are quiet changes; that is, they cannot be detected as such by the compiler, so no diagnostic messages are issued. Also note that some extensions are permitted in the strict ANSI C mode. These extensions are diagnosed, but with no greater severity than Warning. Both types of changes are included in the following sections that describe all new and changed features.


Previous Page | Next Page | Table of Contents | Index