CINXE.COM

Sun Studio 12 Update 1: C Compiler 5.9 Readme

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head><script type="text/javascript" src="https://web-static.archive.org/_static/js/bundle-playback.js?v=7YQSqjSh" charset="utf-8"></script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="https://web-static.archive.org/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://developers.sun.com:80/sunstudio/documentation/ss12u1/mr/READMEs/c.html","20091107135254","https://web.archive.org/","web","https://web-static.archive.org/_static/", "1257601974"); </script> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/banner-styles.css?v=p7PEIJWi" /> <link rel="stylesheet" type="text/css" href="https://web-static.archive.org/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"> <title>Sun Studio 12 Update 1: C Compiler 5.9 Readme</title> <!-- ====CHANGE TITLE HERE --> <!-- ============ --> <!-- STYLESHEET --> <link rel="Stylesheet" type="text/css" title="Sunstyle" href="/web/20091107135254cs_/http://developers.sun.com/sunstudio/documentation/ss12u1/mr/READMEs/sunstyle.css"> <!-- ================ --> <!-- END STYLESHEET --> <!-- ============ --> <!-- MAIN CONTENT --> <!-- ============ --> </head> <body lang="en-US" text="#000000" bgcolor="#ffffff" dir="LTR"> <p align="CENTER"><br> <table width="100%" border="0" cellpadding="6" cellspacing="2"> <tr> <td class="ltblue"> <h2>Sun Studio 12 Update 1: C Compiler 5.10 Readme&nbsp;</h2> </td> </tr> </table> <p align="RIGHT"><i>Updated 2009/06/25&nbsp;&nbsp; </i> </p> <h3><!-- BLOCKQUOTE TAG START --><!-- CONTENTS SECTION START -->Contents</h3> <ol type="A"> <li><a href="#introduction">Introduction</a> <li><a href="#about">About the C Compiler 5.10</a> <li><a href="#new">New and Changed Features</a> <li><a href="#corrections">Software Corrections, Patches, Problems and Workarounds</a> <li><p><a href="#documentation">Documentation Errors</a> </p> </ol> <hr size="1" noshade> <h3><a name="introduction"></a>A. Introduction</h3> <p>This document contains information about this release of the Sun[tm] Studio 12 Update 1 C Compiler 5.10. This document describes the software corrections, known problems, limitations, and incompatibilities of this release.<br><br><b>Product Documentation</b> </p> <p>Product documentation for this release of Sun Studio including man pages, readmes, technical articles, and manuals can be accessed from the Sun Studio documentation page on the Sun Developer Network portal, <a href="https://web.archive.org/web/20091107135254/http://developers.sun.com/sunstudio/documentation/ss12u1/">http://developers.sun.com/sunstudio/documentation/ss12u1</a> </p> <hr size="1" noshade> <h3><a name="about"></a>B. About Sun Studio 12 C Compiler 5.10</h3> <p>This compiler is in full compliance with ISO/IEC 9899:1999, Programming Language - C and is available on Solaris platforms when you compile with the <code>-xc99</code> option. This compiler supports all C language features of ISO/IEC 9899:1999, Programming Language - C on all supported operating systems. </p> <hr size="1" noshade> <h3><a name="new"></a>C. New and Changed Features</h3> <p>This section describes new and changed features for this release of the C compiler 5.10. For additional information regarding new features in other Sun Studio 12 Update 1 components, see the SDN Sun Studio portal at <a href="https://web.archive.org/web/20091107135254/http://developers.sun.com/sunstudio/documentation/ss12u1/">http://developers.sun.com/sunstudio/documentation/ss12u1/</a>. </p> <h4>New Features and Updates Common To All Compilers on SPARC and x86 Platforms</h4> <ul> <li>Object files created by the compilers on the Solaris OS on x86 platforms or the Linux OS are incompatible with previous compiler versions if the application code contains functions with parameters or return values using <code>_m128</code>/<code>_m64</code> data types. Users with <code>.il</code> inline function files, assembler code, or <code>asm</code> inline statements calling these functions also need to be aware of this incompatibility. <li>The <code>-xtarget=woodcrest</code> option expands to <code>-xarch=ssse3 -xchip=core2 -xcache=32/64/8:4096/64/16</code>. <li>The <code>-xtarget=sparc64vii</code> option expands to <code>-xarch=sparcima -xchip=sparc=sparc64vii -xcache=64/64/2:5120/256/10</code>. <li>The <code>-xtarget=penryn</code> option expands to <code>-xarch=sse4_1 -xchip=penryn -xcache=32/64/8:6144/64/24</code>. <li>The <code>-xtarget=nehalem</code> option expands to <code>-xarch=sse4_2 -xchip=nehalem -xcache=32/64/8:256/64/8:8192/64/16</code>. <li>The <code>-xtarget=ultraT2plus</code> option expands to <code>-xarch=sparcvis2 -xcache=8/16/4:4096/64/16 -xchip=ultraT2plus</code>. <li>The <code>-xarch=ssse3</code> option adds the SSSE3 instruction set to the SSE3 instruction set. <li>The <code>-xarch=sse4_1</code> option compiles for the SSE4.1 ISA. <li>The <code>-xarch=sse4_2</code> option compiles for the SSE4.2 ISA. <li>The <code>-xarch=sparcima</code> option compiles for the <code>sparcima</code> version of the SPARC-V9 instruction set, plus the UltraSPARC extensions. <li>The <code>-xchip=core2</code> option optimizes for the core2 processor. <li>The <code>-xchip=sparc64vii</code> option optimizes for the Fujitsu SPARC64 VII processor. <li>The <code>-xchip=penryn</code> option optimizes for the Intel庐 Penryn processor. <li>The <code>-xchip=nehalem</code> option optimizes for the Intel庐 CoreTM (Nehalem) processor. <li>The <code>-xchip=ultraT2plus</code> option optimizes for the UltraSPARC T2 Plus processor. <li>The <code>-xcrossfile=1</code> option becomes an alias of the <code>-xipo=1</code> option. The <code>-xcrossfile=0</code> option no longer has any effect. Specifically, <code>-xcrossfile=1</code> and <code>-xcrossfile=0</code> are equivalent to <code>-xipo=1</code>. <li>On Solaris platforms, the <code>-xpec[=yes|no]</code> option generates a PEC binary that is recompilable for use with the Automatic Tuning System (ATS). <li>The <code>-Y</code> option does not accept <code>i</code> as an argument. <li>On SPARC platforms, the <code>-xdepend</code> option is now implicitly enabled for optimization levels <code>-x03</code> or higher, and is no longer included in the expansion of the <code>-fast</code> option. <li>Support for OpenMP 3.0. See the <a href="openmp.html"><b>OpenMP README</b></a> for details. <li><code>-xannotate[=yes|no]</code> (Solaris platforms only) instructs the compiler to create binaries that can be transformed later by binary modification tools like <code>binopt</code>(1). <li><p>The <tt>-xprofile=collect</tt> and <tt>-xprofile=use</tt> options provide improved support including profiling multi-threaded, dynamically linked applications. <ul> <li>Shared libraries built using -xprofile=collect no longer need to be run with an executable built using -xprofile=collect. <li>MT-safe runtime support for -xprofile=collect is always enabled. <li>Shared libraries can be built using -xprofile on both Solaris and Linux. <li>On OpenSolaris platforms, profile feedback data can be collected without requiring the application to terminate by calling exit(1). <li>Utility programs xprof_btoa and xprof_atob support conversion of profile feedback data to ascii text and back again. </ul> <p> Details are in the manual pages for cc(1), CC(1), f90(1), xprof_btoa(1), and xprof_atob(1). <p> On all systems, new shared libraries libxprof.so.1 and libtdf.so.1 are required for compiling programs using -xprofile=collect, -xprofile=use, or -xprofile=tcov; running programs compiled using -xprofile=collect or -xprofile=tcov; using xprof_btoa and xprof_atob to convert binary profile data to ascii text and back again. <br><br> These libraries are installed as follows: <ul> <li>On Solaris 10 platforms prior to release 05/09, libxprof.so.1 and libtdf.so.1 are installed by downloading and installing one of the following patches from http://sunsolve.sun.com : <ul> <li>118683-03 or later for sparc <li>119961-05 or later for intel </ul> <li>On OpenSolaris platforms, libxprof.so.1 and libtdf.so.1 are availble with the latest versions of the SUNWsprot package. <li>On Linux platforms, libxprof.so.1 and libtdf.so.1 are included with Sun Studio 12 Update 1 or later. </ul> <p>Note that these libraries should be installed on machines used for running profiled programs as well as on machines used for compilation. </p> </ul> <h4>New Features Specific to the C Compiler</h4> <ul> <li>The <code>-Wi</code> option is no longer accepted for passing arguments to the interprocedural optimizer.The <code>-xsb</code> and <code>-xsbfast</code> options are obsolete and have been removed. <li>A new flag has been added to the -xcheck option, <code>[no%]init_local</code>. <li><tt>__FUNCTION__</tt> and <tt>__PRETTY_FUNCTION__</tt> are predefined identifiers that contain the name of the lexically-enclosing function. They are functionally equivalent to the c99 predefined identifier,<tt> __func__</tt>. On Solaris platforms, <tt>__FUNCTION__</tt> and <tt>__PRETTY_FUNCTION__</tt> are not available in -Xs and -Xc modes. <li>In standard C, a case label in a <code>switch</code> statement can have only one associated value. The Sun Studio C compiler allows an extension found in some compilers known as case ranges. <li>The second operand in a conditional expression can be omitted. If the first operand is then non-zero, the value of the conditional expression is that of the first operand. <li>For the <code>-features=[no%]conststrings</code> option, which enables and disables string literal placement in read-only memory, the default is <code>-features=conststrings</code>, which replaces the deprecated <code>-xstrconst</code> option. <li>The <code>-include</code> filename option for specifying preprocessor include files has been added. <li>New behavior for preprocessor ## operator: The compiler now issues a warning diagnostic for an undefined ## operation (C standard, section 3.4.3), where undefined is a ## result that, when preprocessed, consists of multiple tokens rather than one single token (C standard, section 6.10.3.3(3)). The result of an undefined ## operation is now defined as the first individual token generated by preprocessing the string created by concatenating the ## operands. <li><p><b>Global asm Statements </b><br>A basic asm statement is expressed as <code>asm(</code><code><em>assembly code</em></code><code>);</code><br>It emits the given assembler text directly into the assembly file. A basic asm statement declared at file scope, rather than function scope, is referred to as a &quot;global asm statement&quot;. Other compilers refer to this as a &quot;toplevel&quot; asm statement.<br>Global asm statements are emitted in the order they are specified, that is, they retain their order relative to each other and maintain their position relative to surrounding functions.<br>At higher optimization levels, the compiler may remove functions that it believes are not referenced. Since the compiler will not know which functions are referenced from within global asms, it is possible that they may be removed inadvertently. <br> Note that extended asm statements, those which provide a template and operand specifications, are not allowed to be global. <br>&quot;__asm&quot; and &quot;__asm__&quot; are synonyms for the &quot;asm&quot; keyword and can be used interchangeably. <br> Global asm statements are implemented only for SPARC processors in this release. </p> <li><p>SSSE3, SSE4a, SSE4.1 SSE4.2 intrinsics are now supported. See <a href="https://web.archive.org/web/20091107135254/http://wikis.sun.com/display/SunStudio/Special+x86+Intrinsics"><b> Special Intrinsics Wiki Page</b></a> </ul> <p>For a list of new and changed features introduced in the previous release, see the <a href="https://web.archive.org/web/20091107135254/http://developers.sun.com/sunstudio/documentation/ss12/mr/READMEs/c.html#new"><b>Sun Studio 12 C Readme</b></a>.</p> <p><!-- SOFTWARE CORRECTIONS SECTION START --><br><br> </p> <hr size="1" noshade> <h3><a name="corrections"></a>D. Software Corrections, Patches, Problems and Workarounds</h3> <ul> <li><b><tt>-xhelp=readme</tt> on Linux</b></br> In some Linux environments, <tt>cc -xhelp=readme</tt> might not work. A workaround is to explicitly set the PAGER environment variable. For example: <pre> % setenv PAGER more </pre> </ul> <p>Check the Support page on the SDN Sun Studio portal, <a href="https://web.archive.org/web/20091107135254/http://developers.sun.com/sunstudio/">http://developers.sun.com/sunstudio/</a> for latest information. </p> <p><!-- DOCUMENTATION ERRORS SECTION START --><br><br> </p> <hr size="1" noshade> <h3><a name="documentation"></a>E. Documentation Errors</h3> <p>There is no new information.</p> <hr size="1" noshade> <p><a name="usage"></a><a href="copyright.html">Copyright</a> &copy; 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.<!-- COPYRIGHT INFO END --><!-- BLOCKQUOTE TAG START --> </p> <p><!-- BLOCKQUOTE TAG END --><!-- <DIV CLASS="date-stamp">LAST UPDATED - 2007/05/31> --><!-- =================== --><!-- END OF MAIN CONTENT --><!-- =================== --><br><br> </p> <script language="JavaScript" src="/web/20091107135254js_/http://developers.sun.com/js/omi/dsc/s_code_remote.js"></script></body> </html> <!-- FILE ARCHIVED ON 13:52:54 Nov 07, 2009 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 09:38:53 Feb 26, 2025. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.627 exclusion.robots: 0.043 exclusion.robots.policy: 0.031 esindex: 0.016 cdx.remote: 17.947 LoadShardBlock: 184.768 (3) PetaboxLoader3.datanode: 140.827 (4) PetaboxLoader3.resolve: 156.603 (2) load_resource: 176.106 -->

Pages: 1 2 3 4 5 6 7 8 9 10