Updated 2002/03/25

Forte[tm] Developer 7: C Compiler Readme

Contents

  1. Introduction
  2. About the Forte Developer 7 C Compiler
  3. New and Changed Features
  4. Software Corrections
  5. Problems and Workarounds
  6. Limitations and Incompatibilities
  7. Documentation Errors

 


A. Introduction

This document contains information about the Forte[tm] Developer 7 C compiler. This document describes the new features that are included with this release, software software corrections that are addressed by this release, and lists known problems, limitations, and incompatibilities. Information in this document overrides information in the manuals for this release.

Information in the release notes overrides information in all readme files. To access the release notes and the complete Forte Developer documentation set, go to the documentation index at file:/opt/SUNWspro/docs/index.html. The documentation index provides access to the following C documents:

To view the text version of this readme, type the following at a command prompt:

   cc -xhelp=readme

To view the HTML version of this readme, go to:

   file:/opt/SUNWspro/docs/index.html

Note - If your Forte Developer 7 software is not installed in the /opt directory, ask your system administrator for the equivalent path on your system.

 


B. About the C Compiler

This release of the C Compiler is available on the Solaris[tm] operating environment (SPARC[tm] Platform Edition) versions 7, 8, and 9.

This compiler conforms with the following standards:

This compiler also supports some of the features specified in the following standard:

The 64-bit SPARC architecture features in this development release are support for the C International Standard and for -xarch=v9.

 


C. New and Changed Features

This section describes the following new and changed features for this release of the C compiler. For information about other Forte Developer components, see the What's New manual. To access this manual on your local system or network, go to file:/opt/SUNWspro/docs/index.html. You can also access this manual by going to http://docs.sun.com.

 


D. Software Corrections

The fix for bug 4522629, "Disagreement between C++ and C when returning a struct (C violates ABI)", breaks binary compatibility on sparc V9 architectures only.

The C compiler has been fixed to fully conform to the v9 ABI. The fix affects any code with a function definition or function reference in which the return value, or any argument, is defined as a small struct that contains an array of type float, double, or long double. A small struct is defined as 16 bytes for arguments, 32 bytes for return values. The incompatibility causes undefined behavior and exists if the function definition and all function references have not all been recompiled using the Forte[tm] Developer 7 C compiler for Early Access 2.

Binaries compiled with earlier versions of the Forte Developer or DevPro compilers that do not have the appropriate patch and that have function definitions or function references where the return value or any argument is defined as a small struct containing an array of floating-point type, are incompatible with binaries compiled with the Forte Developer 7 C compiler for Early Access 2.

The following patched compilers fully conform to the v9 ABI and produce binaries that are compatible in all respects with Forte Developer 7 C version 5.4:

This fix is likely to only affect compatibility between programs compiled in C++ with extern C, calling C using small structs as described above. There are no known incompatibilites with any system libraries, as small structs as described below are not passed or returned.

The following is an example of a small struct containing an array of floating-point type:

typedef struct {
    double tf[4];
} t_st;

t_st myfunc(t_st arg) {
    t_st rv;
    return rv;
}

 


E. Problems and Workarounds

This section discusses known software problems and possible workarounds for those problems. For updates, check Forte Developer Hot Product News at http://www.sun.com/forte/fcc/hotnews.html.

 


F. Limitations and Incompatibilities 

This section discusses limitations and incompatibilities with systems or other software. There is no new information for this release.

 


G. Documentation Errors 

 


Copyright © 2002 Sun Microsystems, Inc., All rights reserved. Use is subject to license terms.