98/12/14 Sun WorkShop Compiler C 5.0 ___________________________________________________________________________ Introduction: The Sun WorkShop Compiler C 5.0 runs on SPARC(TM) processors running Solaris(TM) (SPARC Platform Edition), and Intel(R) x86 processors running Solaris (Intel Platform Edition), versions 2.5.1, 2.6, and Solaris version 7. ___________________________________________________________________________ Contents: A. New Features B. Changes to Features C. Current Software Bugs or Limitations D. Documentation Errata ___________________________________________________________________________ A. New Features C Sun WorkShop Compiler C 5.0 offers the following new features: o Compile for 64-bit Solaris 7: This release of the compiler can produce 64-bit object binaries on either 32-bit or 64-bit Solaris 7 SPARC Platform Edition. For more information, see: * the cc(1) man page * the README file "64bit_Compilers" in /opt/SUNWspro/READMEs * the "Solaris 7 64-bit Developer's Guide" in AnswerBook. This manual provides information about the 32-bit and 64-bit programming interfaces. o New Options (See the cc(1) man page for details) -xarch=v9 -xarch=v9a (SPARC Solaris 7 only) Causes compilation for V9 SPARC or UltraSPARC processors. Resulting object code can only be linked and executed on a 64-bit SPARC or UltraSPARC processor running Solaris 7. (Option only availble when compiling in the Solaris 7 environment.) -xcode=abs32|abs44|abs64|pic13|pic32 (SPARC only) Allows user to specify the memory address model for the compiled program. Available only on SPARC platforms. Enables compilation for 32-bit, 44-bit, or 64-bit absolute addresses, as well as the small and large "position- independent code" models (equivalent to -Kpic and -KPIC). -xprefetch[={yes|no}] (SPARC only) Enables the compiler to generate prefetch instructions where appropriate on UltraSPARC II processors. o New Pragmas (See documentation errata below) #pragma error_messages Provides control of c and lint error messages within the source program. o New Options for lint (See lint(1) man page for details) -errchk=sizematch Warn when a larger integer is assigned to a smaller integer. These warnings will also be issued for assignment between same size integers which differ in signedness; for example, unsigned int = signed int ____________________________________________________________________________ B. Changes to Features The following features have changed since the 4.2 release: o Command-line Options: -xcrossfile=n This release adds an optional value = 0, or 1. -xcrossfile=1 is equivalent to -xcrossfile of the 4.2 release. This option enables the compiler to perform optimizations such as inlining across all the source files specified on the cc command. -xcrossfile=0 turns off cross file optimizations. o See also the "math_libraries" README file for new information on optimized math libraries for V9 SPARC platforms. The path to the README files is: /SUNWspro/READMEs/ where is usually /opt . ____________________________________________________________________________ C. Current Software Bugs or Limitations The following bugs are known and could not be fixed in time for this release. Check http://www.sun.com/workshop/users/ws.html for updated information about bugs, workarounds, and patches. o Linking on SPARC V9 Processors under Solaris 2.7 Many static system libraries, such as libm.a and libc.a, are not available for SPARC V9 processors in the Solaris 7 environment. Only dynamic, shared libraries (libm.so, libc.so) are provided. This means that -Bstatic and -dn may cause linking errors on SPARC V9 Solaris 2.7 environments. Applications must use the dynamic libraries in these cases. ____________________________________________________________________________ ____________________________________________________________________________ Solaris, SunOS, and OpenWindows are trademarks or registered trademarks of Sun Microsystems, Inc. All SPARC trademarks, including the SCD Compliant Logo, are trademarks or registered trademarks of SPARC International, Inc. Intel is a registered trademark of Intel Corporation. Last Date Changed 98/12/14