                                               XVt: 2003 N 3  28 

 Sun[tm] ONE Studio 8: C RpC Readme

     ڎ

       A. ͂߂
       B. Sun ONE Studio 8AC RpCɂ
       C. VKѕύXꂽ@\
       D. \tgEFȀC
       E. _Ɖ
       F. ƌ̖݊
       G. Lq̌̒



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

     A. ͂߂

     ̕ł́ASun Open Net Environment (Sun ONE) Studio 8A
     Compiler Collection Ɋւ񋟂܂B ܂A̕ł
     ̃[XŒ񋟂V@\\tgEFȀCɂĉ
     ƂƂɁAm̖␧Aь̖݊ɂĐ
     Ă܂B̋̕Lړe͂̃[X̃}jA̋Lړ
     eɗD悵܂B

     i}jA

        * [Xm[g: http://docs.sun.com/ œł܂BB 
          [Xm[g̏́Aei Readme t@C̏
          D悵܂B
        * Compiler Collection ̃}jA: ĩ}jAy[WA
          HTML ł ReadmeAу}jÁA
          /opt/SUNWspro/docs/ja/index.html œł܂B
        * Compiler Collection JҌ\[X|[^: ZpA
          Compiler Collection ֘ÃhLgAmx[XȂǂɂ
          ẮA Compiler Collection Developer Resources Portal (p)
          QƂĂB

      - Compiler Collection \tgEFAftHg /opt ȊÕf
     BNgɃCXg[Ăꍇ́AVXȇΉpX
     VXeǗ҂ɊmFĂB ̃}jAANZ
     Xł C }jA͈ȉ̂ƂłB

        * C RpC Readme
        * C [U[YKCh
        * wCu Readme
        * lvZKCh
        * CN^J[ Readme
        * Sun Performance Library Readme
        * Sun Performance Library Reference Manual
        * Sun Performance Library User's Guide

     ̃̕eLXgł\ɂ́AR}hvvgŎ̃R}
     h͂܂B

        cc -xhelp=readme

     ̕ HTML ł\ɂ́Ãt@CɃANZX܂B

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

      - Sun ONE Studio 8 \tgEFA /opt ȊÕfBNgɃC
     Xg[Ăꍇ́AVXeǗ҂Ɏۂ̃pXq˂
     B



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

     B. C RpCɂ

     ̃[X Sun ONE Studio 8, Compiler Collection C Compiler
     ́ASolaris[tm] Iy[eBO (SPARC (R); vbgtH[
     ) o[W 7A8A 9  Solaris Iy[eBO (x86
     vbgtH[) o[W 7A8A 9 ŗpł܂B

     ̃RpĆÅeKiɏĂ܂B

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

     ̃RpC͂܂A̋Kǐ@\ꕔT|[gĂ܂B

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

     ̊J[X 64 rbg SPARC A[LeN`@\́AC ̍
     ۋKi  -xarch=v9 ɑΉĂ܂B



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

     C. VKѕύXꂽ@\

     ł́Ã[X C RpC̐Vǉꂽ@\ƕύX
     ꂽ@\ɂĐ܂BSun ONE Studio 8 ̂̑̃R|[
     lgɂẮAwSun ONE Studio 8 ̐V@\xQƂĂ
     B[JVXe܂̓lbg[Nł̃}jAɃANZX
     ɂ́Afile:/opt/SUNWspro/docs/ja/index.html JĂB
     http://docs.sun.com ɂ}jAfڂĂ܂B

     SʓIȋ@\g
     J[}bvt@CKvƂȂϐXR[v: -xldscope
     C99 ̒ǉ@\̎
     -xvis ɂ VIS[tm] Developers Kit ̃T|[g (SPARC)
     X[uXbh̑傫ȃftHgX^bN
     ǂꂽ -xprofile (SPARC)
     UTF-16 񃊃ẽRpCT|[g lint T|[g :-xustr
     A-Xustr

     荂ȃRpC
     -xprofile_ircache ɂ鍂ȃvt@CO (SPARC)
     vRpCς݃wb_[A-xpch
     -xjobs=n ɂ镡vZbT̎gp (SPARC)

     ptH[}X̌
     J[ɂăT|[gAf[^̃Xbh[JȋL̈
     gps\̌:-xthreadvar (SPARC)
     y[WtHg炷ƂɂsptH[}X: -xF
     -xlinkopt ɂ郉^Č (SPARC)
     -xpagesize=n ɂ郉^Č (SPARC)
     -xhwcprof ɂn[hEFAJE^ɂvt@CO (SPARC)

     eՂȃfobO
     -xdebugformat ɂ Dwarf tH[}bg̃fobK
     OpenMP vÕfobÕT|[g:-xopenmp=noopt

     ------------------------------------------------------------------
     J[}bvt@CKvƂȂϐXR[v: -xldscope

     ̃[Xł́AICũV{̃GNX|[g𐧌
     ̂ 2 ނ̕@𗘗pł悤ɂȂ܂B̋@\̓
     J[XR[vƌĂ΂Aŋ߂ɂȂăJ[}bvt@CɂăT
     |[g悤ɂȂ̂łB܂Ã[X̓R[h
     ɐV錾wq𖄂ߍނƂł悤ɂȂ܂B__global
     A__symbolicA __hidden R[hɒږߍ߂΂悭A}b
     vt@CgpKv܂B 1 ̕@́AR}h
     s -xldscope w肷邱ƂɂĕϐXR[ṽftHgݒ
     ㏑̂łB

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xldscope QƂĂB錾wqɂ
     ́AwC [U[YKChx̑ 2 ́uSun ̎ɌŗL C RpC
     vɏڂqׂĂ܂B

     C99 ̒ǉ@\̎

     Sun ONE Studio 8 C RpĆAȉ ISO/IEC 9899:1999 (
     ̕ł C99 ƌĂł) @\T|[g܂Bł́A
     Ƃ C99 Kȉԍ܂B

        * 6.2.5 : _Bool
        * 6.2.5 : _Complex type
          ̃[Xł _Complex 𕔕IɎĂ܂BSolaris
          7A8A 9  -lcplxsupp ƃNKv܂B
          _Complex f[^̐ÓIȏ͂܂@\܂B
        * 6.3.2.1 : ӒlɌ肳ȂAz̃|C^ւ̕ϊ
        * 6.4.4.2 : 16 i_e
        * 6.5.2.5 : e
        * 6.7.2 : _Imaginary ^
        * 6.10.6 : STDC vO}
        * 6.10.8 : __STDC_IEC_559 }N __STDC_IEC_559_COMPLEX }
          N

     ڍׂ́ASun ONE Studio 8 Compiler CollectionwC [U[YKChx
     ̕t^ EuSupported Features of C99vƕt^ BuABI Extensions for
     1999 ISO/IEC CvQƂĂB

     -xvis ɂ VIS[tm] Developers Kit ̃T|[g (SPARC)

     VIS ߃Zbg Software Developers Kit (VSDK) Œ`ĂAZ
     uev[ggpĂꍇ́A-xvis=[yes|no] IvV
     gpĂBftHg -xvis=no łB

     VIS ߃ZbǵASPARC v9 ߃Zbg̊g@\łB UltraSPARC
     vZbT 64 rbgłA܂܂ȃP[XAɃ}`
     fBAAvP[Vł̓f[^TCY 8 rbg܂ 16 rbg
     Ɍ肳邱Ƃ܂BVIS ߂ 1 ̖߂ 4  16 rb
     gf[^ł邽߁AC[WOA`㐔AVOiAI
     [fBIArfIAlbg[LOȂǂ̂悤ȃj[fBA
     AvP[ṼptH[}X啝Ɍコ܂B

     VSDK ɂĂ̏́Ahttp://www.sun.com/processors/vis QƂ
     ĂB

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xvis QƂĂB

     X[uXbh̑傫ȃftHgX^bN

     X[uXbh̃ftHg̃X^bNTCÝÃ[XŊg
     ܂BׂẴX[uXbh͓X^bNTCY܂
     (32 rbgAvP[V 4MBA64 rbgAvP[V 8MB
     ftHg)B̃TCÝASTACKSIZE ϐŐݒ肳܂B

     ڍׂ́ASun ONE Studio 8 Compiler CollectionwC [U[YKChx
     ̑ 3 ́uSun C R[h̕񉻁vQƂĂB

     ǂꂽ -xprofile (SPARC)

     -xprofile IvV͎̂悤ɉǂ܂B

        * LCũvt@CÕT|[g
        * -xprofile=collect -mt ɂAXbhɑ΂ĈSȃvt@
          CW
        * 1 ̃vt@CfBNg̃̕vO܂͋L
          Cuvt@CO悤ɃT|[g

     -xprofile=use gp邱ƂŁARpC͈ӂł͂Ȃx[X
     ̃IuWFNgt@C̃f[^ۑꂽvt@CfB
     NgŃvt@Cf[^邱Ƃł悤ɂȂ܂
     BRpCIuWFNgt@C̃vt@Cf[^oł
     Ȃꍇ́ARpC͐VIvV
     -xprofile_pathmap=collect-prefix: use-prefix 񋟂܂B

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xprofile  -xprofile_pathmap QƂĂ
     B

     UTF-16 񃊃ẽRpCT|[g lint T|[g :-xustr
     A-Xustr

     IuWFNgt@C UTF-16 ɕϊ񃊃e
     R[hɊ܂܂ꍇ́A-xustr=ascii_utf16_ushort w肵Ă
     B̃IvVw肷ƁAU"ASCII_string" 񃊃e
     Ȃ short ƂĔF܂B

     ڍׂ́Acc(1)  -xustr ܂ lint(1)  -Xustr QƂĂ
     B܂ASun ONE Studio 8 Compiler CollectionwC [U[YKC
     hx̑ 5 ́ulint \[XR[hvOv܂͕t^ A Q
     ƂĂB

     -xprofile_ircache ɂ鍂ȃvt@CO (SPARC)

     WtF[YŕۑꂽRpCf[^Ďgp邱ƂɂĎg
     ptF[ỸRpCԂZkꍇ́A
     -xprofile_ircache[=path]  -xprofile=collect|use 𕹗pĂ
     B

     傫ȃvȌꍇ́Aԃf[^ۑ邽߁AgptF[Y
     ̃RpCԂ啝ɒZk܂Bf[^ۑ邱ƂŃfBX
     Neʂ̗vg傷\邱ƂɒӂĂB

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xprofile_ircache QƂĂB

     vRpCς݃wb_[A-xpch

     ̃RpC[Xł́AvRpCς݃wb_[ƂV@\
     񋟂Ă܂BvRpCς݃wb_[t@ĆAeʂ̃\
     [XR[hʂ̃CN[ht@CZbg\[Xt@C
     LĂꍇɃAvP[ṼRpCԂZk邽߂
     gp܂B́A1 ̃\[Xt@CÃwb_[t@C
     ɊւWÃ\[Xt@CăRpCꍇ
     Awb_[Qق̃\[Xt@CRpCꍇ
     ̏gpƂ@ōs܂B̋@\́A-xpch IvV
      -xpchstop IvV #pragma hdrstop w߂ƕp邱Ƃ
     pł܂B

     ڍׂ́Acc(1)  -xpch IvV -xpchstop IvVQƂ
     BSun ONE Studio 8 Compiler CollectionwC [U[YKC
     hxłÃIvV #pragma hdrstop ̏ڍׂĂ
     ܂B

     -xjobs=n ɂ镡vZbT̎gp (SPARC)

     -xjobs=n IvV́AƂs߂ɃRpC쐬vZ
     X̐ݒ肷邽߂Ɏw肵܂B̃IvV́A}` CPU }
     VɂrhԂZkʂ܂B݁A-xjobs 
     -xipo IvVƂ̕pł@\܂B-xjobs=n w肷
     ƁAݎ葱IveB}CU͂܂܂ȃt@CRpC邽
     ߂ɌĂяoƂłR[hWFl[^CX^X̍ő吔Ƃ
      n gp܂B

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xjobs QƂĂB

     J[ɂăT|[gAf[^̃Xbh[JȋL̈
     gps\̌:-xthreadvar (SPARC)

     VXbh[JȋL̈@\ɂ̓J[ɂăT|[g
     ܂B̍ƂɎgpĂB

        * XbhŗL̃f[^蓖Ă邽 POSIX C^tF[X̍
          𗘗p
        * }`vZXvO}`XbhvOɕϊ
        * Xbh[JXg[WgpĂ Windows AvP[V
           Solaris ɈڐA
        * OpenMP  thread private ϐ̍𗘗p

     ̃[X̃RpCł́AXbh[Jϐ̐錾ʂăX
     bh[JXg[Wgpł܂B̐錾ɂ́Aϐwq
     __thread ̒ǉɂʏ̕ϐ錾ƁAR}hsIvV
     -xthreadvar ɂ錾܂B

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xthreadvar QƂĂB錾wqɂ
     ẮAwC [U[YKChx̑ 2 ́uSun ̎ɌŗL C Rp
     CvŏڂĂ܂B

     y[WtHg炷ƂɂsptH[}X: -xF

     ̐V@\ -xF ́AJ[ɂϐƊ֐̕בւœKɂ
     ߂Ɏgp܂B̋@\gpƁAs̃ptH[}XɈ
     e^鎟̂悤Ȗ₷Ȃ܂B

        * [ŗאڂĂ֘ÂȂ̕ϐɂċN
          LbVƃy[W
        * [ŗאڂĂȂ֘ÂȂϐɂċNsK
          vɑ傫ȍƃZbg
        * Lȃf[^̖x weak ϐ̖gpRs[ɂċN
          sKvɑ傫ȍƃZbg

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xF QƂĂB

     -xlinkopt ɂ郉^Č (SPARC)

     -xlinkopt IvVw肷邱ƂŁAC RpC͍Ĕzu\ȃI
     uWFNgt@Cɑ΂ăN̍œK{ł悤ɂȂ
     Bcc(1) QƂĂB

     -xlinkopt w肷ƁANɃRpC̓NĂ .o
     t@CύX邱ƂȂtIȍœK{܂B ̍œK
     ốAs\vOłB-xlinkopt IvV
     ́AvOŜ̃RpCɎgpꍇƁAvt@CtB[
     hobN𔺂ꍇɂƂʓIłB

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xlinkopt QƂĂB

     -xpagesize=n ɂ郉^Č (SPARC)

     -xpagesize=n IvV́AX^bNƃq[ṽy[WTCYݒ肷
     ꍇɎgp܂Bn ɂ́A8KA64KA512KA4MA32MA256MA2GA16G
     A܂ default wł܂BΏۃvbgtH[ Solaris I
     y[eBOɗLȃy[WTCY (getpagesize(3C) ŕ\
     TCY) w肵ĂBLȃy[WTCYw肵ȂƗv
     ͎sɖAm点郁bZ[W͕\܂BΏ
     vbgtH[̃y[WTCÝApmap(1) ܂ meminfo(2) ŊmF
     ł܂B

     ̃IvV́A-xpagesize_stack  -xpagesize_heap ̃}N
     B

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xpagesizeA-xpagesize_heapA
     -xpagesize_stack QƂĂB

     -xhwcprof ɂn[hEFAJE^ɂvt@CO (SPARC)

     -xhwcprof=[enable|disable] IvV́An[hEFAJE^ɂ
     vt@CÕRpCT|[gLɂꍇɎgp
     B

     -xhwcprof LɂƁARpĆAn[hEFAJE^̃f[
     ^̎QƂƁAsCxgтɊ֘A閽߂ƂAc[ƍ
     ̂ɖ𗧂𐶐܂BV{bN ƋɁAΉ
     f[^^\̃o[肷ꍇ܂ (-g Ő)BR[
     hAhXA\[XXe[ggA[`ȂǂɂƂÂvt@C
     ͂̏ȒPɓłȂ߁Ȁ̓ptH[}X
     ͂ɕ֗łB

     n[hEFAJE^x[X̃vt@COɂĂ̏ڍׂ́Aw
     Program Performance Analysis ToolsxQƂĂB

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[KChx -xhwcprof QƂĂB

     -xdebugformat ɂ Dwarf tH[}bg̃fobK

     DWARF Debugging Information Format ɎĂ悤ɁAC Rp
     C̓fobK̃tH[}bg stabs tH[}bg dwarf t
     H[}bgɈڍsĂ܂BfobOǂݎ\tgEFA
     Ăꍇ́Ac[ stabs tH[}bg dwarf tH[}b
     gɈڍs邱Ƃł܂B̃[X̃ftHgݒ́A
     -xdebugformat=stabs łB

     -xdebugformat=dwarf IvV́Ac[ڐA邽߂ɐVtH
     [}bgɃANZXiƂĎgpĂB ̃IvV
     ́AfobKǂݎ\tgEFAێĂȂꍇAgp
     Ăc[ł̃tH[}bgɃfobKKvƂȂ
     ɂ́AgpKv͂܂B

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -debugformat QƂĂB

     OpenMP fobÕT|[g:-xopenmp=noopt

     dbx gp OpenMP vOfobOꍇ́ÄŃu
     [N|Cgݒ肵ĕϐ̃Rec\ł悤ɁA-g 
     -xopenmp=noopt ŃRpCĂB

     ڍׂ́Acc(1) ܂ Sun ONE Studio 8 Compiler CollectionwC [
     U[YKChx -xopenmp QƂĂB



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

     D. \tgEFȀC

     -xdepend ̐V

     (SPARC)

     ̃[Xł́A-xdepend IvV͐V 2 ̈A
     -xdepend=[yes|no] ̂ꂩ 1 Ƃ悤ɂȂ܂B

     -xdepend=yes ̓ftHgłAf[^̈ˑmF邽߂ɃR
     pC[v𕪐͂邱ƂӖ܂B-xdepend=no ́Af[^
     ̈ˑmF邽߂̃[v͂RpCsȂƂӖ
     ܂B



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

     E. _Ɖ

     ł́A܂łɂ킩Ă\tgEFA̖_Ƃ̉
     Đ܂BXVɂẮAUpdated Technical
     Information ̃y[W
     http://sun.co.jp/software/sundev/suncc/hotnews.html QƂĂ
     B



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

     F. ƌ̖݊

     ł́Ae퐧VXeё̃\tgEFAƂ̌݊
     ɂĐĂ܂B Sun ONE Studio 8 [X̍ŐV
     ɂẮAwSun ONE Studio 8 [Xm[gxQƂĂ
     B [Xm[ǵASun ONE Studio 8 CD 
     /cdrom/ml_devpro_v10n1_sparc/docs/ja/release_notes.html  HTML t
     @C`Ŋ܂܂Ă܂B [Xm[ǵASun ONE Studio 8
     Web TCg̃}jAy[W
     http://sun.co.jp/software/sundev/suncc/documentation ł܂B

        * No. 4832526: -xhwcprof
          {-xparallel,-xautopar,-xexplicitpar,-xopenmp} ɂs IR
          wb_[

          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: œKŃJ[XR[veXg ldscope_pos1 
          s
          x86  -xldscope=hidden ܂ -xldscope=symbolic w肷
          ƁAœK -O ܂ -xO[1|2| 3|4|5]  -xldscope IvV
          @\܂B

        * No. 4829392: tls + f[^̃tOg + œḰASun ONE
          Studio 8  C RpCł܂T|[gĂȂ

        * No. 4826993: SunONE 8 RpCC vO̒PȃZO
          gO

          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:񃋁[v̔ƂɎsȂ
          ORDERED s

           for ܂̓[NVFAO for RXgNg̓I
          ͓ɏtꂽw߂́Afor [vׂ̂Ă̔Ŏs
          Kv܂Bfor [v̎sɕ̃Xbhgp
          ƁAvO̓nOAbv܂B

          ̗ōlĂ݂܂B̗ł́Atꂽw߂ɂ
           for RXgNgCN[h܂Btꂽ
          ߂́Afor [v̌JԂ 30 ł̂ݎs܂Bfor
          [v̎sɕ̃XbhgpƁAvO̓n
          OAbv܂B

          #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: RpCς݃wb_[ɒ`ꂽÓIϐ dbx
          ɕ\łȂ

        * No. 1253033: C RpC -c -o IvV́Agq .o 
          OȂ



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

     G. Lq̌̒

     _ł͐V͂܂B



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

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