                                               : 2003 ǯ 3  28 

 Sun[tm] ONE Studio 8: C ѥ Readme

     ܼ

       A. Ϥ
       B. Sun ONE Studio 8C ѥˤĤ
       C. ѹ줿ǽ
       D. եȥν
       E. Ȳ
       F. »ȸߴ
       G. Ҥθ



     ------------------------------------------------------------------

     A. Ϥ

     ʸǤϡSun Open Net Environment (Sun ONE) Studio 8
     Compiler Collection ˴ؤ󶡤ޤ ޤʸǤ
     Υ꡼󶡤뿷ǽ䥽եȥνˤĤƲ
     ⤹ȤȤˡΤ»ࡢӸߴˤĤ
     ƤޤʸεƤϤΥ꡼Υޥ˥奢ε
     Ƥͥ褷ޤ

     ʥޥ˥奢

        * ꡼Ρ: http://docs.sun.com/ Ǥޤ 
          ꡼ΡȤξϡʤ Readme եξ
          ͥ褷ޤ
        * Compiler Collection Υޥ˥奢: ʤΥޥ˥奢ڡ
          HTML Ǥ Readmeӥޥ˥奢ϡ
          /opt/SUNWspro/docs/ja/index.html Ǥޤ
        * Compiler Collection ȯԸ꥽ݡ: Ѳ⡢
          Compiler Collection ϢΥɥȡμ١ʤɤˤĤ
          Ƥϡ Compiler Collection Developer Resources Portal (Ѹ)
          򻲾ȤƤ

      - Compiler Collection եȥǥեȤ /opt ʳΥ
     쥯ȥ˥󥹥ȡ뤵Ƥϡƥбѥ
     򥷥ƥԤ˳ǧƤ Υޥ˥奢饢
     Ǥ C ޥ˥奢ϰʲΤȤǤ

        * C ѥ Readme
        * C 桼
        * إ饤֥ Readme
        * ͷ׻
        * 󥯥󥿥󥫡 Readme
        * Sun Performance Library Readme
        * Sun Performance Library Reference Manual
        * Sun Performance Library User's Guide

     ʸΥƥǤɽˤϡޥɥץץȤǼΥޥ
     ɤϤޤ

        cc -xhelp=readme

     ʸ HTML ǤɽˤϡΥե˥ޤ

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

      - Sun ONE Studio 8 եȥ /opt ʳΥǥ쥯ȥ˥
     ȡ뤵ƤϡƥԤ˼ºݤΥѥ򤪿Ҥͤ
     



     ------------------------------------------------------------------

     B. C ѥˤĤ

     Υ꡼ Sun ONE Studio 8, Compiler Collection C Compiler
     ϡSolaris[tm] ڥ졼ƥ󥰴Ķ (SPARC (R); ץåȥե
     ) С 78 9  Solaris ڥ졼ƥ󥰴Ķ (x86
     ץåȥե) С 78 9 ѤǤޤ

     ΥѥϡγƵʤ˽򤷤Ƥޤ

        * ISO/IEC 9899:1990, Programming Languages - C 
        * FIPS 160 

     ΥѥϤޤεʤθ쵡ǽݡȤƤޤ

        * ISO/IEC 9899:1999, Programming Languages - C

     γȯ꡼ 64 ӥå SPARC ƥ㵡ǽϡC ι
     ݵ  -xarch=v9 бƤޤ



     ------------------------------------------------------------------

     C. ѹ줿ǽ

     ǤϡΥ꡼ C ѥοɲä줿ǽѹ
     줿ǽˤĤޤSun ONE Studio 8 Τ¾Υݡ
     ͥȤˤĤƤϡSun ONE Studio 8 οǽ٤򻲾ȤƤ
     륷ƥޤϥͥåȥǤΥޥ˥奢˥
     ˤϡfile:/opt/SUNWspro/docs/ja/index.html 򳫤Ƥ
     http://docs.sun.com ˤƱޥ˥奢뤬ǺܤƤޤ

     Ūʵǽĥ
     󥫡ޥåץեɬפȤʤѿ: -xldscope
     C99 ɲõǽμ
     -xvis ˤ VIS[tm] Developers Kit Υݡ (SPARC)
     졼֥åɤ礭ʥǥեȥå
     ɤ줿 -xprofile (SPARC)
     UTF-16 ʸƥΥѥ饵ݡȤ lint ݡ :-xustr
     -Xustr

     ®ʥѥ
     -xprofile_ircache ˤ®ʥץե (SPARC)
     ץꥳѥѤߥإå-xpch
     -xjobs=n ˤʣץåλ (SPARC)

     ѥեޥ󥹤θ
     󥫡ˤäƥݡȤ롢ǡΥåɥʵΰ
     Ѥ¹Իǽθ:-xthreadvar (SPARC)
     ڡեȤ򸺤餹Ȥˤ¹Իѥեޥ󥹤: -xF
     -xlinkopt ˤ󥿥θ (SPARC)
     -xpagesize=n ˤ󥿥θ (SPARC)
     -xhwcprof ˤϡɥ󥿤ˤץե (SPARC)

     ưפʥǥХå
     -xdebugformat ˤ Dwarf եޥåȤΥǥХå
     OpenMP ץΥǥХåΥݡ:-xopenmp=noopt

     ------------------------------------------------------------------
     󥫡ޥåץեɬפȤʤѿ: -xldscope

     Υ꡼ǤϡưŪ饤֥ΥܥΥݡȤ
     Τ 2 ˡѤǤ褦ˤʤޤεǽϥ
     פȸƤФ졢Ƕˤʤäƥ󥫡ޥåץեˤäƥ
     ݡȤ褦ˤʤäΤǤޤΥ꡼ϥ
     ˿ҤळȤǤ褦ˤʤޤ__global
     __symbolic __hidden 򥳡ľФ褯ޥ
     ץեѤɬפޤ󡣤⤦ 1 Ĥˡϡޥ
     Ԥ -xldscope ꤹ뤳ȤˤäѿפΥǥե
     񤭤ΤǤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xldscope 򻲾ȤƤҤˤĤ
     ϡC 桼ɡ٤ 2 ϡSun μ˸ͭ C ѥ
     פ˾ܤҤ٤Ƥޤ

     C99 ɲõǽμ

     Sun ONE Studio 8 C ѥϡʲ ISO/IEC 9899:1999 (
     ʸǤ C99 ȸƤǤ) ǽ򥵥ݡȤޤǤϡ
     Ȥ C99 ʤξֹ򼨤ޤ

        * 6.2.5 : _Bool
        * 6.2.5 : _Complex type
          Υ꡼Ǥ _Complex ʬŪ˼ƤޤSolaris
          78 9  -lcplxsupp ȥ󥯤ɬפޤ
          _Complex ǡŪʽϤޤǽޤ
        * 6.3.2.1 : ͤ˸ꤵʤΥݥ󥿤ؤѴ
        * 6.4.4.2 : 16 ưƥ
        * 6.5.2.5 : ʣƥ
        * 6.7.2 : _Imaginary 
        * 6.10.6 : STDC ץ饰
        * 6.10.8 : __STDC_IEC_559 ޥ __STDC_IEC_559_COMPLEX 
          

     ܺ٤ϡSun ONE Studio 8 Compiler CollectionC 桼ɡ
     Ͽ ESupported Features of C99פϿ BABI Extensions for
     1999 ISO/IEC Cפ򻲾ȤƤ

     -xvis ˤ VIS[tm] Developers Kit Υݡ (SPARC)

     VIS ̿᥻å Software Developers Kit (VSDK) Ƥ륢
     ֥ƥץ졼ȤѤƤϡ-xvis=[yes|no] ץ
     ѤƤǥեȤ -xvis=no Ǥ

     VIS ̿᥻åȤϡSPARC v9 ̿᥻åȤγĥǽǤ UltraSPARC
     ץå 64 ӥåȤǤޤޤʥꡢä˥ޥ
     ǥץꥱǤϥǡ 8 ӥåȤޤ 16 ӥå
     ˸ꤵ뤳ȤޤVIS ̿ 1 Ĥ̿ 4 Ĥ 16 ӥ
     ȥǡǤ뤿ᡢ᡼󥰡ʥ
     ǥӥǥͥåȥ󥰤ʤɤΤ褦ʥ˥塼ǥ
     륢ץꥱΥѥեޥ󥹤˸夵ޤ

     VSDK ˤĤƤξϡhttp://www.sun.com/processors/vis 򻲾Ȥ
     Ƥ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xvis 򻲾ȤƤ

     졼֥åɤ礭ʥǥեȥå

     졼֥åɤΥǥեȤΥåϡΥ꡼ǳ
     ޤ٤ƤΥ졼֥åɤƱåޤ
     (32 ӥåȥץꥱ 4MB64 ӥåȥץꥱ 8MB
     ǥե)ΥϡSTACKSIZE Ķѿꤵޤ

     ܺ٤ϡSun ONE Studio 8 Compiler CollectionC 桼ɡ
      3 ϡSun C ɤ󲽡פ򻲾ȤƤ

     ɤ줿 -xprofile (SPARC)

     -xprofile ץϼΤ褦˲ɤޤ

        * ͭ饤֥Υץե󥰤Υݡ
        * -xprofile=collect -mt ˤ롢åɤФưʥץե
          
        * 1 ĤΥץեǥ쥯ȥʣΥץޤ϶ͭ
          饤֥ץե󥰤褦˥ݡȤ

     -xprofile=use Ѥ뤳ȤǡѥϰդǤϤʤ١̾
     ʣΥ֥ȥեΥǡ¸줿ץեǥ
     쥯ȥǥץեǡ򸫤Ĥ뤳ȤǤ褦ˤʤޤ
     ѥ餬֥ȥեΥץեǡ򸡽ФǤ
     ʤϡѥϿץ
     -xprofile_pathmap=collect-prefix: use-prefix 󶡤ޤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xprofile  -xprofile_pathmap 򻲾ȤƤ
     

     UTF-16 ʸƥΥѥ饵ݡȤ lint ݡ :-xustr
     -Xustr

     ֥ȥե UTF-16 ʸѴʸƥ
     ɤ˴ޤޤϡ-xustr=ascii_utf16_ushort ꤷƤ
     ΥץꤹȡU"ASCII_string" ʸƥ
     ʤ short Ȥǧޤ

     ܺ٤ϡcc(1)  -xustr ޤ lint(1)  -Xustr 򻲾ȤƤ
     ޤSun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ 5 ϡlint ɸץפޤϿ A ⻲
     ȤƤ

     -xprofile_ircache ˤ®ʥץե (SPARC)

     ե¸줿ѥǡƻѤ뤳Ȥˤäƻ
     ѥեΥѥ֤ṳ̂ϡ
     -xprofile_ircache[=path]  -xprofile=collect|use ʻѤƤ
     

     礭ʥץξϡ֥ǡ¸뤿ᡢѥե
     Υѥ֤ṳ̂ޤǡ¸뤳Ȥǥǥ
     ̤׷郎礹ǽ뤳ȤդƤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xprofile_ircache 򻲾ȤƤ

     ץꥳѥѤߥإå-xpch

     Υѥ꡼ǤϡץꥳѥѤߥإåȤǽ
     󶡤ƤޤץꥳѥѤߥإåեϡ̤Υ
     ɤĶ̤Υ󥯥롼ɥե륻åȤ򥽡ե뤬
     ͭƤ˥ץꥱΥѥ֤ṳ̂뤿
     Ѥޤϡ1 ĤΥե뤫ϢΥإåե
     ˴ؤΥեƥѥ뤹
     䡢ƱإåĤۤΥե򥳥ѥ뤹
     ξѤȤˡǹԤޤεǽϡ-xpch ץ
      -xpchstop ץ #pragma hdrstop ʻѤ뤳Ȥ
     ѤǤޤ

     ܺ٤ϡcc(1)  -xpch ץ -xpchstop ץ򻲾Ȥ
     Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤Ǥ⡢Υץ #pragma hdrstop ξܺ٤Ƥ
     ޤ

     -xjobs=n ˤʣץåλ (SPARC)

     -xjobs=n ץϡȤԤ˥ѥ餬ץ
     οꤹ뤿˻ꤷޤΥץϡޥ CPU 
     ˤӥɻ֤ṳ̤̂ޤߡ-xjobs 
     -xipo ץȤʻѤǤǽޤ-xjobs=n ꤹ
     ȡ߼³ץƥޥϤޤޤʥե򥳥ѥ뤹뤿
     ˸ƤӽФȤǤ륳ɥͥ졼󥹥󥹤κȤ
      n Ѥޤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xjobs 򻲾ȤƤ

     󥫡ˤäƥݡȤ롢ǡΥåɥʵΰ
     Ѥ¹Իǽθ:-xthreadvar (SPARC)

     åɥʵΰ赡ǽˤϥ󥫡ˤäƥݡȤ
     ޤκȤ˻ѤƤ

        * åɸͭΥǡƤ뤿 POSIX 󥿥եι
          ®Ѥ
        * ޥץץޥåɥץѴ
        * åɥ륹ȥ졼ѤƤ Windows ץꥱ
           Solaris ˰ܿ
        * OpenMP  thread private ѿι®Ѥ

     Υ꡼ΥѥǤϡåɥѿ̤ƥ
     åɥ륹ȥ졼ѤǤޤˤϡѿ
     __thread ɲäˤ̾ѿȡޥɹԥץ
     -xthreadvar ˤޤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xthreadvar 򻲾ȤƤҤˤĤ
     ƤϡC 桼ɡ٤ 2 ϡSun μ˸ͭ C 
     פǾܤƤޤ

     ڡեȤ򸺤餹Ȥˤ¹Իѥեޥ󥹤: -xF

     οǽ -xF ϡ󥫡ˤѿȴؿ¤ؤŬˤ
     ˻ѤޤεǽѤȡ¹ԻΥѥեޥ󥹤˰
     ƶͿ뼡Τ褦褷䤹ʤޤ

        * ꡼ܤƤϢΤʤʣѿˤäƵ
          å嶥ȥڡ
        * ꡼ܤƤʤϢΤʤѿˤäƵɬ
          פ礭ʺȥå
        * ͭʥǡ̩٤򲼤 weak ѿ̤ѥԡˤäƵ
          ɬפ礭ʺȥå

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xF 򻲾ȤƤ

     -xlinkopt ˤ󥿥θ (SPARC)

     -xlinkopt ץꤹ뤳ȤǡC ѥϺֲǽʥ
     ֥ȥեФƥ󥯻κŬ»ܤǤ褦ˤʤ
     cc(1) 򻲾ȤƤ

     -xlinkopt ꤹȡ󥯻˥ѥϥ󥯤Ƥ .o
     եѹ뤳ȤʤղŪʺŬ»ܤޤ κŬ
     иΤϡ¹ԲǽץǤ-xlinkopt ץ
     ϡץΤΥѥ˻Ѥȡץեե
     ɥХåȼˤäȤŪǤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xlinkopt 򻲾ȤƤ

     -xpagesize=n ˤ󥿥θ (SPARC)

     -xpagesize=n ץϡåȥҡפΥڡꤹ
     ˻Ѥޤn ˤϡ8K64K512K4M32M256M2G16G
     ޤ default Ǥޤоݥץåȥե Solaris 
     ڥ졼ƥ󥰴Ķͭʥڡ (getpagesize(3C) ɽ
     륵) ꤷƤͭʥڡꤷʤ׵
     ϼ¹Ի̵뤵졢Τ餻åɽޤо
     ץåȥեΥڡϡpmap(1) ޤ meminfo(2) ǳǧ
     Ǥޤ

     Υץϡ-xpagesize_stack  -xpagesize_heap Υޥ
     

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xpagesize-xpagesize_heap
     -xpagesize_stack 򻲾ȤƤ

     -xhwcprof ˤϡɥ󥿤ˤץե (SPARC)

     -xhwcprof=[enable|disable] ץϡϡɥ󥿤ˤ
     ץե󥰤Υѥ饵ݡȤͭˤ˻Ѥ
     

     -xhwcprof ͭˤȡѥϡϡɥ󥿤Υǡ
     λȤȡԥ٥ȤӤ˴Ϣ̿Ȥ򡢥ġ뤬ȹ
     ΤΩľޤܥå ȶˡб
     ǡ乽¤ΥСꤹ礬ޤ (-g )
     ɥɥ쥹ơȥȡ롼ʤɤˤȤŤץե
     뤫ϤξñǤʤᡢξϥѥեޥ
     ʬϤǤ

     ϡɥ󥿥١Υץե󥰤ˤĤƤξܺ٤ϡ
     Program Performance Analysis Tools٤򻲾ȤƤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xhwcprof 򻲾ȤƤ

     -xdebugformat ˤ Dwarf եޥåȤΥǥХå

     DWARF Debugging Information Format ˼Ƥ褦ˡC 
     ϥǥХåΥեޥåȤ stabs եޥåȤ dwarf 
     ޥåȤ˰ܹԤƤޤǥХåɤ߼륽եȥ
     Ƥϡġ stabs եޥåȤ dwarf եޥ
     Ȥ˰ܹԤ뤳ȤǤޤΥ꡼Υǥեϡ
     -xdebugformat=stabs Ǥ

     -xdebugformat=dwarf ץϡġܿ뤿˿ե
     ޥåȤ˥ʤȤƻѤƤ Υץ
     ϡǥХåɤ߼륽եȥݻƤʤ䡢
     ƤġǤΥեޥåȤ˥ǥХåɬפȤʤ
     ˤϡѤɬפϤޤ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -debugformat 򻲾ȤƤ

     OpenMP ǥХåΥݡ:-xopenmp=noopt

     dbx Ѥ OpenMP ץǥХåϡΰǥ
     졼ݥȤꤷѿΥƥĤɽǤ褦ˡ-g 
     -xopenmp=noopt ǥѥ뤷Ƥ

     ܺ٤ϡcc(1) ޤ Sun ONE Studio 8 Compiler CollectionC 桼
     ɡ٤ -xopenmp 򻲾ȤƤ



     ------------------------------------------------------------------

     D. եȥν

     -xdepend ο

     (SPARC)

     Υ꡼Ǥϡ-xdepend ץϿ 2 Ĥΰ
     -xdepend=[yes|no] Τ줫 1 ĤȤ褦ˤʤޤ

     -xdepend=yes ϥǥեȤǤꡢǡΰ¸ǧ뤿˥
     ѥ餬롼פʬϤ뤳Ȥ̣ޤ-xdepend=no ϡǡ
     ΰ¸ǧ뤿Υ롼ײϤ򥳥ѥ餬ԤʤȤ̣
     ޤ



     ------------------------------------------------------------------

     E. Ȳ

     ǤϡޤǤˤ狼äƤ륽եȥȤβ
     ĤޤˤĤƤϡUpdated Technical
     Information Υڡ
     http://sun.co.jp/software/sundev/suncc/hotnews.html 򻲾ȤƤ
     



     ------------------------------------------------------------------

     F. »ȸߴ

     ǤϡƼ»䥷ƥप¾ΥեȥȤθߴ
     ˤĤƤޤ Sun ONE Studio 8 ꡼κǿ
     ˤĤƤϡSun ONE Studio 8 ꡼Ρȡ٤򻲾ȤƤ
      ꡼ΡȤϡSun ONE Studio 8 CD 
     /cdrom/ml_devpro_v10n1_sparc/docs/ja/release_notes.html  HTML 
     ǴޤޤƤޤ ꡼ΡȤϡSun ONE Studio 8
     Web ȤΥޥ˥奢ڡ
     http://sun.co.jp/software/sundev/suncc/documentation Ǥޤ

        * No. 4832526: -xhwcprof
          {-xparallel,-xautopar,-xexplicitpar,-xopenmp} ˤ IR
          إå

          example%cc xloopinfo_1.c -V -xO3 -xparallel -xhwcprof -xdebugformat=
          dwarf -Wc,-xyz -lm
          cc: Sun C 5.5 2003/03/09
          acomp: Sun C 5.5 2003/03/09
          iropt: Sun Compiler Common 7.1 2003/03/09
          compiler(iropt) error: IR version = 4.0.0, expected 6.0.1
          cc: iropt failed for xloopinfo_1.c
          example%

        * No. 4829700: Ŭǥ󥫡ץƥ ldscope_pos1 
          Ԥ
          x86  -xldscope=hidden ޤ -xldscope=symbolic ꤹ
          ȡŬ -O ޤ -xO[1|2| 3|4|5]  -xldscope ץ
          ǽޤ

        * No. 4829392: tls + ǡΥե饰Ȳ + ŬϡSun ONE
          Studio 8  C ѥǤޤݡȤƤʤ

        * No. 4826993: SunONE 8 ѥC ץñʥ
          㳰ȯ

          CC=/opt/SunONE8/SUNWspro/bin/cc
          CFLAGS= -xarch=v8plusa -xO0
          bug: bug.c
                 $(CC) $(CFLAGS) -o $@ $^

          struct data {
                  int pad;
                  struct data *next;
          };

          static void
          bug(struct data conf)
          {
                  struct data ov = *conf.next;
          }

          int
          main(int argc, char **argv)
          {
                  struct data ret;

                  ret.next = &ret;
                  bug(ret);
                  return 0;
          }

        * No. 4775273 - OPENMP:롼פȿȤ˼¹Ԥʤ
          ORDERED Ԥ

           for ޤϥ for 󥹥ȥ饯ȤưŪ
          ˽դ줿ϡfor 롼פΤ٤ƤȿǼ¹Ԥ
          ɬפޤfor 롼פμ¹ԤʣΥåɤѤ
          ȡץϥϥ󥰥åפޤ

          ǹͤƤߤޤǤϡդ줿ˤ
           for 󥹥ȥ饯Ȥ򥤥󥯥롼ɤޤդ줿
          ̿ϡfor 롼פη֤ 30 ǤΤ߼¹Ԥޤfor
          롼פμ¹ԤʣΥåɤѤȡץϥϥ
          åפޤ

          #include <omp.h>
          #include <stdio.h>

          int main(void)
          {
            #pragma omp parallel for ordered
            for (int i = 1; i <= 30; i++) {
              if (i == 30) {
                #pragma omp ordered
                printf("i: %i\n", i);
              }
            }
            return 0;
          }

        * No. 4774706: ѥѤߥإå줿Ūѿ dbx
          ɽǤʤ

        * No. 1253033: C ѥ -c -o ץϡĥ .o 
          Ĥʤ



     ------------------------------------------------------------------

     G. Ҥθ

     ǤϿϤޤ



     ------------------------------------------------------------------

     Copyright &copy 2003 Sun Microsystems, Inc., All rights reserved.
     Use is subject to license terms.
