The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

f90 (1)
  • >> f90 (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • 
    NAME
         f90 - FORTRAN 90 compiler
    
    SYNOPSIS
         f90 [ -a ] [ -ansi ]
              [ -autopar ] [ -Bx ] [ -C ] [ -c ]
              [ -cg89 ] [ -cg92 ] [ -Dnm[=def] ] [ -dalign ]
              [ -depend ] [ -dryrun ] [ -dn ] [ -dy ] [ -e ]
              [ -explicitpar ]
              [ -F ] [ -f ] [ -fast ] [ -fixed ] [ -flags ]
              [ -fnonstd ] [ -fns=yes|no ]
              [ -fpover=no|yes ]
              [ -fround=r ] [ -fsimple ] [ -ftrap=t ]
              [ -G ] [ -g ] [ -hnm ] [ -help ] [ -Idir ]
              [ -inline=rl ] [ -Kpic ] [ -KPIC ]
              [ -Ldir ] [ -libmil ] [ -loopinfo ] [ -M dir ]
              [ -mp=x ] [ -mt ] [ -native ] [ -noautopar ]
              [ -nodepend ] [ -noexplicitpar ]
              [ -nolib ] [ -nolibmil ] [ -noqueue ] [ -noreduction ]
              [ -norunpath ] [ -O[n] ] [ -o nm ]
              [ -onetrip ] [ -p ] [ -pad=p ]
              [ -parallel] [ -pg ] [ -pic ] [ -PIC ]
              [ -Qoption pr ls ] [ -qp ] [ -R ls ]
              [ -reduction ] [ -S ] [ -s ] [ -sb ]
              [ -stackvar ]
              [ -temp=dir ] [ -time ] [ -unroll=n ]
              [ -V ] [ -v ] [ -vpara ] [ -w ]
              [ -xa ] [ -xarch=a ] [ -xautopar ] [ -xcache=c ]
              [ -xcg89 ] [ -xcg92 ] [ -xchip=c ] [ -xcode=v ]
              [ -xdepend ] [ -xexplicitpar ]
              [ -xhelp=h ] [ -xildoff ] [ -xildon ]
              [ -xinline=rl ] [ -xlibmil ] [ -xlibmopt ]
              [ -xlicinfo ] [ -xlic_lib=libs ] [ -Xlist ]
              [ -xloopinfo ] [ -xnolib ] [ -xnolibmil ]
              [ -xnolibmopt ] [ -xO[n] ] [ -xpad ]
              [ -xparallel ] [ -xpg ]
              [ -xpp=p ] [ -xprefetch=yes|no ] [ -xprofile=p ]
              [ -xreduction ] [ -xregs=r ] [ -xs ] [ -xsafe=mem ]
              [ -xsb ] [ -xspace ] [ -xtarget=t ]
              [ -xtime ] [ -xunroll=n ]
              [ -xvector=yes|no ] [ -Zlp ] [ -z X ] [ -ztext ]
                source file(s) ...  [ -lx ]
    
    
    DESCRIPTION
         Version:  FORTRAN 90 2.0
    
         See the online READMEs/fortran_90 file (viewable by running
         f90 -xhelp=readme) for current platforms and environments
         and latest information on new or changed features.
    
         Note that the compiler's parallelization features are only
         available with the Sun Performance WorkShop(TM) Fortran,
         SPARC Edition.
    
         f90 is derived from Cray CF90(tm), a product of Silicon
         Graphics, Inc.
    
         Purpose:  Translate Fortran source files into an executable
         (a.out) file
    
         Other Uses of the compiler:
    
         o  Make an executable for multiple processors, -parallel
         o  Do global checking of the source program, -Xlist
         o  Transform source to relocatable binary (.o) files, -c
         o  Transform source to a dynamic library (.so) file, -G
         o  Prepare for debugging, -g
         o  Prepare for profiling by statement or procedure, -pg
         o  Link .o files into an executable file
         o  Relink only the changed files, -xildon
            The Incremental Link Editor, ild, is sometimes used in
            place of the standard linker, ld, for faster development.
            See -xildon and -xildoff for more information.
    
         Note:  A man page, by definition, is a quick reference, not
         a complete reference. See the list of Sun documentation at
         the end of this man page.
    
    COMPILING FOR 64-BIT SOLARIS 7:
         This version of the compiler can produce 64-bit object
         binaries on 32-bit or 64-bit Solaris 7 SPARC Platform Edi-
         tion.  The resulting executable will run only on 64-bit
         SPARC or UltraSPARC processors under Solaris 7 with the 64-
         bit kernel.  Compilation, linking, and execution of 64-bit
         objects can only take place in a Solaris 7 environment.
    
         Compiling for 64-bit Solaris 7 is indicated by the -xarch=v9
         and -xarch=v9a options. Note that one of these options must
         be specified even if -xtarget or -fast are also specified.
         In such a case, the -xarch=v9 (or -xarch=v9a) option must
         appear AFTER any -xtarget or other option that sets -xarch.
         For example:
    
               -xtarget=ultra -xarch=v9
    
         Note that -xtarget=ultra and -xtarget=ultra2 imply -xarch=v8
         and do not automatically signal -xarch=v9 or v9a.
    
         When building shared dynamic libraries with -xarch=v9 or v9a
         on 64-bit Solaris 7, the -pic or -PIC option MUST be speci-
         fied.
    
         See also the new -xcode=abs32|abs44|abs64|pic13|pic32 option
         for specifying code address sizes.
    
         64-bit Solaris 7 not only enables 64-bit integer and pointer
         data, but also support for large files and large arrays. For
         more details, see the README file:
    
          <install-directory>/SUNWspro/READMEs/64bit_Compilers
    
         (where <install-directory> is usually /opt in a standard
         install.)
    
         You can find more specific information about compiling f90
         programs for a 64-bit environment in the f90 README file.
         This is viewable by running the command f90 -xhelp=readme
    
         For general information on 64-bit Solaris for software
         developers, see the "Solaris 7 64-bit Developer's Guide" on
         AnswerBook2
    
    FILE SUFFIXES
         .f90 File names ending in .f90 are assumed to be Fortran 90
              free format source files.
    
         .f   Files with names ending in .f or .for are taken to be
              fixed format Fortran 90 or Fortran 77 source files.
    
         .for Same as .f files.
    
         .F   Fixed format Fortran 77 or Fortran 90 source containing
              preprocessor directives. These files are preprocessed
              by the Fortran preprocessor fpp before they are com-
              piled. (See also the -xpp= option.)
    
         .F90 Free format Fortran 90 source containing preprocessor
              directives.  These files are preprocessed by the For-
              tran preprocessor fpp before they are compiled.  (See
              also the -xpp= option.)
    
         .s   Files with names ending in .s are taken to be assembly
              source files and are assembled, producing .o files.
    
         .il  Files with names ending in .il are taken to be inline
              expansion code template files.  The compiler uses these
              to expand inline calls to selected routines.  The com-
              piler, not the linker, does this, so to get inline
              expansion, be sure to include these .il files in the
              compile command.
    
         .o   Files ending in .o are object files that are passed
              through to the linker.
    
         .a   Files ending in .a are libraries passed on to the
              linker.
    
    OPTIONS
         For details, check the Fortran User's Guide. See ld(1) for
         link-time options.
    
         f90 compiles "silently". Except for error and warning mes-
         sages, it does not issue "progress" messages during compila-
         tion.
    
         In general, processing of the compiler options is from left
         to right, so selective overriding of macros can be done.
         This rule does not apply to linker options.
    
         -a   Profile by basic block for tcov.
    
              Count how often each basic block is executed. Run
              tcov(1) on the source file to generate statistics about
              the program.
    
              For separate compile and link steps, if you compile
              with -a, then link with -a.  You can mix -a with -O.
    
              When the program is run, a .d file is created for every
              .f file compiled that accumulates execution data for
              the corresponding source file. Invoking tcov after run-
              ning the program generates summary output on file.tcov
              for each source file.
    
              If set at compile-time, the TCOVDIR environment vari-
              able specifies the directory where the .d and .tcov
              files are located.  If this variable is not set, these
              file will be created in the same directory as the .f
              source files.
    
              This is the old style of basic block profiling for
              tcov.  See -xprofile=p.
    
         -ansi
              Identify many non-ANSI extensions.
    
         -autopar
              Enable automatic loop parallelization
    
              Find and parallelize appropriate loops. Do dependency
              analysis (analyze loops for inter-iteration data depen-
              dencies). Do loop restructuring.  If optimization is
              not -O3 or higher, it is raised to -O3.
    
              -g cancels -autopar.  Debugging is facilitated by
              specifying -g without any optimization or paralleliza-
              tion options since not all debugging features are
              available when these options are invoked. See the dbx
              documentation for details.
    
              Avoid -autopar if you do your own thread management.
              See note under -mt.
    
              On a single-processor system the generated code usually
              runs slower.
    
              To improve performance, also specify the -stackvar
              option when using any of the parallelization options,
              including -autopar.
    
              For more information, see the Parallelization chapter
              in the Fortran Progammer's Guide.
    
              Number of processors:  To request more than one proces-
              sor, at runtime set the PARALLEL environment variable.
              If N is the number of processors available on the
              machine, then for a one-user, multiprocessor machine,
              try PARALLEL=N-1.
    
              Note:  If one user alone asks (or all users together
              ask) for more processors than are available on the
              machine, there can be serious degradation of perfor-
              mance.
    
              If -autopar is specified but -explicitpar is not, then
              explicit parallelization directives (such as C$MIC
              DOALL) are ignored.
    
              If you use -autopar and compile and link in one step,
              linking will automatically include the microtasking
              library and the threads-safe FORTRAN runtime library.
              If you use -autopar and compile and link in separate
              steps, then you must link with f90 -autopar as well.
    
         -Bx  Prefer dynamic or require static library linking.
    
              Indicates that either dynamic library linking is pre-
              ferred, or static linking required for any libraries
              listed later in the command.  x must be dynamic or
              static.  The default is dynamic.  This is a linker
              option.
    
              -Bdynamic:  Prefer dynamic linking (shared libraries)
              -Bstatic :  Require static linking (no shared
              libraries)
    
              If you specify static but the linker finds only a
              dynamic library, then the library is not linked and a
              warning issued.
              However, if you specify dynamic but the linker finds
              only a static version, that library is linked with no
              warning.
    
              You can toggle between -Bdynamic and -Bstatic on the
              command line, linking some libraries statically and
              others dynamically.
    
              These are linker options. Compiling with -Bx requires
              the same options on a linker command if done in
              separate steps.
    
              In a 64-bit environment, many system libraries are
              available only as shared dynamic libraries. These
              include libm.so and libc.so (libm.a and libc.a are not
              provided). As a result, -Bstatic and -dn may cause
              linking errors in 64-bit Solaris environments. Applica-
              tions must link with the dynamic libraries in these
              cases.
    
         -C   Check array references for out of range subscripts.
    
              Subscripting arrays beyond their declared sizes may
              result in unexpected results, including segmentation
              faults. The -C option checks for possible array sub-
              script violations in the source code and during execu-
              tion.
    
              If the -C option is used, array subscript violations
              are treated as an error. If an array subscript range
              violation is detected in the source code during compi-
              lation, it is treated as a compilation error.
    
              This option will increase the size of the executable
              file and degrade execution performance.  It should only
              be used while debugging.
    
         -c   Compile only, do not make executable file.
    
              Compile and produce a .o file for each source file but
              suppress linking by the loader.  You can name a single
              object file explicitly using the -o option.
    
         -cg89
              Generate code for generic SPARC architecture
    
              This option is a macro for:
                 -xarch=v7 -xchip=old -xcache=64/32/1
              and is equivalent to:     -xtarget=ss2
    
         -cg92
              Generate code for SPARC V8 architecture
              This option is a macro for:
              -xarch=v8 -xchip=super -xcache=16/32/4:1024/32/1.
              and is equivalent to:     -xtarget=ss1000
    
         -Dname[=def]
              Define symbol name for the source code preprocessor.
    
              This is equivalent to a #define directive in the
              source. If no def is given, name is defined as 1. This
              option applies to .F suffix files only.
    
              The following values are predefined on appropriate sys-
              tems; note the two leading underscores:
    
                 __sparc, __sparcv9, __unix, __sun, __i386, __SVR4,
                 __SunOS_5_5_1, __SunOS_5_6, __SunOS_5_7
    
              They can be in such preprocessor conditionals as
                 #ifdef __sparc
    
              Corresponding older values (prior releases) are:
                  sparc, unix, sun, i386
    
              These earlier predefined values may be deleted in a
              future release.
    
              f90 uses the fpp(1) preprocessor by default. Like the C
              preprocessor cpp(1), fpp expands source code macros and
              enables conditional compilation of code. Unlike cpp,
              fpp understand Fortran syntax, and is preferred as a
              Fortran preprocessor. Use the -xpp=cpp flag to force
              the compiler to specifically use cpp rather than fpp.
    
         -dalign
              Align COMMON block data and generate faster multi-word
              load/stores.
    
              This flag changes the data layout in COMMON blocks (and
              EQUIVALENCE classes), and enables the compiler to gen-
              erate faster multi-word load/stores for that data.
    
              The data layout effect is that of the -f flag: double-
              and quad-precision data in COMMON blocks and
              EQUIVALENCE classes are laid out in memory along their
              "natural" alignment, which is on 8-byte boundaries (or
              16-byte boundaries for quad-precision when compiling
              for 64-bit platforms with -xarch=v9 or v9a.)  The
              default alignment in COMMON blocks is on 4-byte boun-
              daries.
    
              Using -dalign, may result in non-standard FORTRAN
              alignment which could cause problems with variables in
              EQUIVALENCE or COMMON and may render the program non-
              portable if -dalign is required.
    
              If you compile one subprogram or file with -dalign,
              then all subprograms and files in the program unit must
              be compiled with -dalign.
    
         -depend
              Analyze loops for data dependencies
    
              Analyze loops for inter-iteration data dependencies and
              do loop restructuring. Data dependency analysis is
              included as part of -parallel and -autopar.  -depend
              will raise the optimization level to -O3 if not speci-
              fied or is less than -O3. -g cancels -depend.  Debug-
              ging is facilitated by specifying -g without any optim-
              ization or parallelization options since not all debug-
              ging features are available when these options are
              invoked. See the dbx documentation for details.
    
         -dryrun
              Show commands built by the f90 driver but do not com-
              pile.
    
              Useful when debugging, this option displays the com-
              mands the comiler will run to perform the compilation.
    
         -d[y|n]
              Allow/disallow dynamic libraries for executable
    
              Allow or disallow dynamic libraries for the entire exe-
              cutable. This is a linker option.
    
              The default is -dy.
    
              -dy:  Allow dynamic libraries.
              -dn:  Do not allow dynamic libraries.
    
              Unlike -B[dynamic|static], this option applies to the
              whole executable and need appear only once on the com-
              mand line.
    
              -d[y|n] are linker options. If you compile and link in
              separate steps with these options, then you need the
              same option in the link step.
    
              In a 64-bit environment, many system libraries are
              available only as shared dynamic libraries. These
              include libm.so and libc.so (libm.a and libc.a are not
              provided). As a result, -Bstatic and -dn may cause
              linking errors in 64-bit Solaris environments. Applica-
              tions must link with the dynamic libraries in these
              cases.
    
         -e   Extend source line maximum length to 132 characters.
    
              The compiler pads on the right with trailing blanks to
              column 132.  If you use continuation lines while com-
              piling with -e, then do not split character constants
              across lines, otherwise unnecessary blanks may be
              inserted in the constants.
    
         -explicitpar
              Enable parallelization of loops explicitly marked with
              directives
    
              This option turns on explicit parallelization. DO loops
              immediately preceded by DOALL directives will have
              threaded, parallel code generated for them. Paralleli-
              zation is only appropriate on multiprocessor systems.
              This option should not be used to compile programs that
              already do their own multithreading with calls to the
              libthread library.
    
              The compiler may generate parallel code even if there
              are data dependencies in the DO loop that would cause
              the loop to generate incorrect results when run in
              parallel. With explicit parallelization, it is the
              user's responsibility to correctly analyze loops for
              data dependency problems before marking them with
              parallelization directives.
    
              If optimization is not at -O3 or higher, then it is
              raised to -O3.
    
              -g cancels -explicitpar.  Debugging is facilitated by
              specifying -g without any optimization or paralleliza-
              tion options since not all debugging features are
              available when these options are invoked. See the dbx
              documentation for details.
    
              Avoid -explicitpar if you do your own thread manage-
              ment. See -mt.
    
              On a single-processor system, the generated code usu-
              ally runs slower.
    
              To improve performance, also specify the -stackvar
              option when using any of the parallelization options,
              including -autopar.
    
              For more information, see the chapter on Paralleliza-
              tion in the Fortran Programming Guide.
    
              If you use -explicitpar and compile and link in one
              step, then linking automatically includes the micro-
              tasking library and the threads-safe FORTRAN runtime
              library.  If you use -explicitpar and compile and link
              in separate steps, then link with -explicitpar.
    
         -F   Invoke the source file preprocessor, but do not compile
    
              Apply the fpp preprocessor to .F90 and .F files and put
              the result in the file with the suffix changed to .for
              .f90, but do not compile.
    
              fpp is the default preprocessor for Fortran. The C
              preprocessor, cpp, can be selected instead by specify-
              ing -xpp=cpp.
    
         -f   Align on 8-byte boundaries
    
              Align all common blocks and all double-precision and
              quadruple-precision local data on 8-byte boundaries.
    
              This option applies to both real and complex data.
    
              Using both -dbl and -f also causes 64-bit integer data
              to be 8-byte aligned.
    
              Resulting code may not be standard and may not be port-
              able.
    
              If you compile one subprogram with -f, compile all sub-
              programs of the program with -f.
    
              By itself, this option does not enable the compiler to
              generate faster double word fetch/store instructions
              ond double and quad precision data. Only -dalign will
              do this.
    
         -fast
              Optimize for speed of execution using a selection of
              options.
    
              Select the combination of options that optimizes for
              speed of execution without excessive compilation time.
              This option provides close to the maximum performance
              for many realistic applications.
    
              For some critical routines, it may be better to try for
              more optimization with the -fast -O5 combination. With
              combinations, the last specification applies. Even
              though the optimization for -fast alone is -O4, the
              optimization part of the -fast -O5 combination is -O5.
    
              If you do not specify an optimization level with -fast
              the default is -O4.
    
              This is a convenience option, and it chooses:
    
              o The -native hardware target.
                If the program is intended to run on a different tar-
                get than the compilation machine, follow the -fast
                with the appropriate -xtarget= option. For example:
                      f90 -fast -xtarget=ultra ...
    
              o The -O4 optimization level.
    
              o The -libmil option to inline certain math library
                routines.
    
              o The -fsimple=1 option to optimize floating-point
                operations.
    
              o The -dalign option to allow generation of faster dou-
                ble word load/store instructions.
    
              o The -xlibmopt option to link the optimized math
                library.
    
              o The -depend option to better optimize DO loops.
    
              o The -fns option for possibly faster handling of
                underflow.
    
              o The -ftrap=%none option to disable floating-point
                traps.
    
    
              Note that this option is a particular selection of
              other options that is subject to change from one
              release of the compiler to another, and between com-
              pilers.  For details on the constituents of -fast, see
              the Fortran User's Guide.
    
              Do not use this option with programs that depend on
              IEEE standard exception handling; you can get different
              numerical results, premature program termination, or
              unexpected SIGFPE signals.
    
              For separate compile and link steps: if you compile
              with -fast, then be sure to link with -fast.
    
         -fixed
              Assume fixed-format source input.
    
              Interpret all Fortran 90 source files as fixed-format.
              Overrides the file suffix.
    
         -flags
              Synonym for -help.
    
         -fnonstd
              Initialize floating-point hardware to non-standard
              preferences
    
              This option is a synonym for the combination
                     -fns -ftrap=common
              which initializes the floating-point hardware to:
    
              o  Abort on exceptions
              o  Flush denormalized numbers to zero if it will
              improve speed
    
              Only trapping is affected by this option on x86.
    
              See -fns for a information on underflow and handling of
              denormalized numbers.
    
              The -fnonstd option enables hardware traps for
              floating-point overflow, division by zero, and invalid
              operation exceptions. These are converted into SIGFPE
              signals, and if the program has no SIGFPE handler, it
              aborts. See ieee_handler(3m), ieee_functions(3m), the
              Numerical Computation Guide, and Fortran Programming
              Guide for more information.
    
         -fns[={no,yes}]
              Select SPARC nonstandard floating point
    
              Select the SPARC nonstandard floating-point mode.  The
              default, -fns=no, is SPARC standard floating-point
              mode.
    
              Optional use of =yes or =no provides a way of toggling
              the -fns flag following some other macro flag that
              includes -fns, such as -fast.
    
              -fns is the same as -fns=yes.
              -fns=yes selects non-standard floating-point.
              -fns=no selects standard floating-point.
    
              On some SPARC systems, the nonstandard floating point
              mode disables "gradual underflow", causing tiny results
              to be flushed to zero rather than producing subnormal
              numbers.  It also causes subnormal operands to be
              silently replaced by zero.  On those SPARC systems that
              do not support gradual underflow and subnormal numbers
              in hardware, use of this option can significantly
              improve the performance of some programs.
    
              Warning: When nonstandard mode is enabled, floating
              point arithmetic may produce results that do not con-
              form to the requirements of the IEEE 754 standard.  See
              the Numerical Computation Guide and the Fortran User's
              Guide for more information.
    
              This option is effective only on SPARC systems and only
              if used when compiling the main program.
    
         -fpover[={yes|no}]
              Detect floating-point overflow in formatted input.
    
              With -fpover=yes specified, the I/O library will detect
              floating-point overflows in formatted input and return
              error condition 1031. The default is no such overflow
              detection (-fpover=no). -fpover is equivalent to
              -fpover=yes.
    
    
         -fround=r
              Select the IEEE rounding mode in effect at startup.
    
              r must be one of:
                    nearest, tozero, negative, positive.
    
              The default is -fround=nearest.
    
              When r is "tozero", "negative", or "positive", this
              flag causes the rounding direction mode to be set to
              round-to-zero, round-to-negative-infinity, or round-
              to-positive-infinity respectively when a program begins
              execution.  When r is "nearest" or the -fround flag is
              not used, the rounding direction mode is not altered
              from its initial value (round-to-nearest by default).
    
              This option is effective only if used when compiling
              the main program.
    
         -fsimple[=n]
              Select floating-point optimization preferences
    
              Allow the optimizer to make simplifying assumptions
              concerning floating-point arithmetic.
    
              If n is present, it must be 0, 1, or 2.
    
              The defaults are:
                 With no -fsimple, f90 uses -fsimple=0
                 With only -fsimple, f90 uses -fsimple=1
    
              -fsimple=0
                 Permit no simplifying assumptions. Preserve strict
                 IEEE 754 conformance.
    
              -fsimple=1
                 Allow conservative simplifications. The resulting
                 code does not strictly conform to IEEE 754, but
                 numeric results of most programs are unchanged.
    
                 With -fsimple=1, the optimizer can assume the fol-
                 lowing:
    
                    IEEE 754 default rounding/trapping modes do not
                    change after process initialization.
    
                    Computations producing no visible result other
                    than potential floating point exceptions may be
                    deleted.
    
                    Computations with Infinity or NaNs as operands
                    need not propagate NaNs to their results; e.g.,
                    x*0 may be replaced by 0.
    
                    Computations do not depend on sign of zero.
    
                 With -fsimple=1, the optimizer is not allowed to
                 optimize completely without regard to roundoff or
                 exceptions. In particular, a floating-point computa-
                 tion cannot be replaced by one that produces dif-
                 ferent results with rounding modes held constant at
                 run time.
                 -fast implies -fsimple=1.
    
              -fsimple=2
    
                 Permit aggressive floating-point optimizations that
                 may cause many programs to produce different numeric
                 results due to changes in rounding.
    
                 For example, -fsimple=2 will permit the optimizer to
                 attempt replacing computations of x/y with x*z,
                 where z=1/y is computed once and saved in a tem-
                 porary, thereby eliminating costly divide opera-
                 tions.
    
                 Even with -fsimple=2, the optimizer still is not
                 permitted to introduce a floating-point exception in
                 a program that otherwise produces none.
    
         -ftrap=t
              Set floating-point trapping mode
    
              This option sets the IEEE floating-point trapping that
              is in effect at startup.
    
              t is a comma-separated list that consists of one or
              more of the following:
    
               %all, %none, common, [no%]invalid, [no%]overflow,
               [no%]underflow, [no%]division, [no%]inexact.
    
              The f90 default is -ftrap=common.  (Note that the
              default with f77 is -ftrap=%none.)
    
              This option sets the IEEE 754 trapping modes that are
              established at program initialization. Processing is
              left-to-right. The common exceptions, by definition,
              are invalid, division by zero, and overflow.  For exam-
              ple:
              -ftrap=overflow.
    
              Example: Set all traps, except inexact.
    
                    -ftrap=%all,no%inexact
    
              The meanings are the same as for the ieee_flags func-
              tion, except that:
    
              o %all turns on all the trapping modes.
    
              o %none, the default, turns off all trapping modes.
    
              o A no% prefix turns off that specific trapping mode.
    
              To be effective this option must be used when compiling
              the main program.
    
         -G   Build a dynamic shared library
    
              Direct the linker to make a shared dynamic library.
              Without -G the linker builds an executable file. With
              -G it builds a dynamic library (but no executable).
              Use -o with -G to specify the name of the file to be
              written.
    
         -g   Compile for debugging.
    
              Produce additional symbol table information for dbx(1)
              or the Sun WorkShop debugging utility.
    
              -g cancels any parallelization option ( -autopar,
              -explicitpar, -parallel) as well as -depend and -reduc-
              tion.  Debugging is facilitated by specifying -g
              without any optimization or parallelization options
              since not all debugging features are available when
              these options are invoked. See the dbx documentation
              for details.
    
              -g no longer overrides -O, but it does override the
              automatic inlining that is usually provided by -O4.
    
              For SPARC:  The -g option makes -xildon the default
              incremental linker option (see -xildon).  That is, with
              -g, the compiler default behavior is to automatically
              invoke ild in place of ld, unless the -G option is
              present, or any source file is named on the command
              line.
    
    
         -h nm
              Specify the name of the generated dynamic shared
              library
    
              If the library has an internal name, then whenever the
              executable is run, the linker must find a library with
              the same internal name; the file can be in any library
              search path.  If the library has no internal name, then
              the linker must find a library with the same path as
              when it was generated.  Having an internal name allows
              more flexibility at runtime.
    
              Remarks:
              o The space between the -h and nm is optional.
              o -hnm is meaningless without -G.
              o -hnm is a linker option.
              o The names after -h and -o are usually the same.
              o -hnm facilitates versions for dynamic libraries.
    
              See the Solaris Linker and Libraries Guide.
    
         -help
              List the f90 command-line options.
    
              See also -xhelp.
    
         -Idir
              Add dir to the include file search path.
    
              Insert directory dir at the start of the include file
              search path. No space is allowed between -I and dir.
    
              The include file search path is the list of directories
              searched for include files. This search path is used
              by:
    
                o   The preprocessor directive #include
                o   The f90 statement INCLUDE
    
              Example: To search for include files in /usr/applib:
    
                  f90 -I/usr/applib growth.F
    
              Of course, to invoke the preprocessor, you must use a
              .F suffix; and the f90 compiler INCLUDE statement
              allows the .f or .F suffix.
    
              The -Idir search path is used while searching for rela-
              tive path names, not absolute path names. The search
              order for relative path names is:
    
               1. The directory containing the source file
               2. Directories named in -I options
               3. Directories in the default list of the compiler
    
              The default list depends on installation:
    
              Standard install:
                /opt/SUNWspro/SC5.0/include/f90    /usr/include
              Nonstandard install to /my/dir/:
                /my/dir/SC5.0/include/f90    /usr/include
    
         -inline=rl
              Request inlining of the specified user-written rou-
              tines.
    
              Optimize by inlining the specified user-written rou-
              tines named in the list rl.  The list is a comma-
              separated list of functions and subroutines.  Only rou-
              tines in the file being compiled are considered. The
              optimizer decides which of these routines are appropri-
              ate for inlining.
    
              If compiling with -O3, this option can increase optimi-
              zation by inlining some routines.  The -O3 option
              inlines none by itself.
    
              If compiling with -O4, this can decrease optimization
              by restricting inlining to only those routines in the
              list. With -O4, the optimizer normally tries to inline
              all appropriate user-written subroutines and functions.
    
              A routine is not inlined if any of the following condi-
              tions apply, with no warnings:
    
              o Optimization is less than -O3
    
              o The routine cannot be found.
    
              o Inlining it is not profitable or safe.
    
              o The source is not in the file being compiled. But, see
                -xcrossfile.
    
         -Kpic
              Synonym for -pic
    
         -KPIC
              Synonym for -PIC
    
         -Ldir
              Add dir to list of directories to search for libraries.
    
              dir is added to the start of the search list. A space
              between -L and dir is optional.
    
              Note:  Do not use the -Ldir option to specify /usr/lib
              or /usr/ccs/lib, since they are searched by default,
              and including them here prevents using the unbundled
              libm.
    
         -lx  Link with library libx.a.
    
              Direct the loader to link with object library libx.a,
              where x is a string. See ld(1).
    
              Example:  -lsumex links in the library libsumex.a
    
              Order on the Command Line:  Place -lx options after any
              .f, .F, or .o files. If you call functions in libx, and
              they reference functions in liby, then place -lx before
              -ly.
    
              Search Order for -lx files: the linker searches for
              libraries in several locations. For details, see the
              chapter, "Libraries," in the Fortran Programming Guide.
              See also ld(1).
    
         -libmil
              Inline selected libm math library routines for optimi-
              zation.
    
              Some of the simpler library routines can be inlined by
              the compiler. This option inlines library calls depend-
              ing on the floating-point options and platform curently
              being used.
    
         -loopinfo
              Show which loops are parallelized
    
              Show which loops are parallelized and which are not.
              This option is normally for use with the
              -autopar and -explicitpar options. It requires a Sun
              WorkShop license and generates a list of messages on
              standard error.
    
         -Mpath
              Specify Module directory.
    
              Look in the directory specified by path for Fortran 90
              modules referenced in the current compilation. This
              path is searched in addition to the current directory.
              By default, without this option, only the current
              directory is searched for referenced module files.
              (There is no space between the -M and the path. For
              example, -M/home/siri/PK15/Modules
    
         -mp=x
              Specify the style for parallelization directives
    
              x must be either sun or cray.  The default is sun.
    
              sun:  Accept only the Sun-style MP directives.
              cray:  Accept only the Cray-style MP directives.
    
              Sun-style parallelization directives start with C$PAR
              or !$PAR.  Cray-style parallelization directives start
              with CMIC$ or !MIC$.  Either style can use any upper-
              case or lowercase.
              Use only one directive style in any single compilation
              unit.
    
         -mt  Use multithread safe libraries
    
              If you are doing your own multithread coding and not
              using -autopar, -explicitpar, or -parallel, then you
              must use the -mt option in the compile and link steps.
              The parallelization options use -mt automatically.
    
              On a single-processor system, the generated code usu-
              ally runs more slowly with this option.
    
         -native
              Optimize for the host system.
    
              The -native option is a synonym for the -xtarget=native
              option.
    
         -noautopar
              Cancel -autopar on the command line.
    
              Cancel automatic parallelization of loops invoked by
              -autopar on the command line. (Parallelization options
              require a Sun WorkShop license.)
    
         -nodepend
              Cancel -depend in command line
    
              Cancel dependency analysis invoked by a -depend option
              appearing earlier in the command line.
    
         -noexplicitpar
              Cancel -explicitpar
    
              Cancel explicit parallelization of loops invoked by
              -explicitpar earlier on the command line. (Paralleliza-
              tion options require a Sun WorkShop license.)
    
         -nolib
              Do not link with system libraries.
    
              Do not automatically link with any system or language
              library; that is, do not pass any default -lx options
              to ld.  The default is to link such libraries into exe-
              cutables automatically, without users specifying them
              on the command line.
    
              The system and language libraries are required for
              final execution. It is your responsibility to link them
              in manually. This option provides you complete control
              (and responsibility).
    
              The -nolib option makes it easier to link one of these
              libraries statically.
    
         -nolibmil
              Cancel -libmil on command line
    
              Use with -fast to disable inlining of libm math rou-
              tines:
    
                 demo% f90 -fast -nolibmil  ...
    
         -noqueue
              Disable license queueing.
    
              With this option, if no license is available, the com-
              piler returns without queuing your request and without
              performing any compilation.  A nonzero status is
              returned for testing in makefiles.
    
         -noreduction
              Cancel -reduction on command line
    
              -reduction is used along with parallelization options.
              This option cancels a -reduction appearing earlier on
              the command line. (Parallelization options require a
              Sun WorkShop license.)
    
         -norunpath
              Do not build a runtime library search path into the
              executable
    
              If an executable file uses shared libraries, then the
              compiler normally builds in a path that tells the run-
              time linker where to find those shared libraries. The
              path depends on the directory where you installed the
              compiler. The -norunpath option prevents that path from
              being built into the executable.
    
              This option is helpful when libraries have been
              installed in some nonstandard location, and you do not
              wish to make the loader search down those paths when
              the executable is run at another site.  Compare with
              -R.
    
         -O[n]
              Specify optimizaion level
    
              If -O[n] is not specified, only a very basic level of
              optimization limited to local common subexpression
              elimination and dead code analysis is performed.  A
              program's performance may be significanly improved when
              compiled with an optimization level than without optim-
              ization. Use of -O (which implies -O3) is recommended
              for most programs.
    
              Each -On level includes the optimizations performed at
              the levels below it. Generally, the higher the level of
              optimization a program is compiled with, the better
              runtime performance obtained. However, higher optimiza-
              tion levels may result in increased compilation time
              and larger executable files.
    
              The -g option no longer suppresses -O[n], but does
              limit debugging in certain ways.
    
              If the optimizer runs out of memory, it attempts to
              proceed over again at a lower level of optimization,
              resuming compilation of subsequent routines at the ori-
              ginal level.
    
              For details on optimization, see the Fortran Program-
              ming Guide chapters Performance Profiling, and Perfor-
              mance and Optimization.
    
    
              -O   Optimize at the level most likely to give close to
                   the maximum performance for many realistic appli-
                   cations (currently -O3).
    
              -O1  Do only the minimum amount of optimization
                   (peephole).
    
              -O2  Do basic local and global optimization. This level
                   usually gives minimum code size. -O3 is preferred
                   over -O2 unless -O3 results in excessive compila-
                   tion time, running out of swap space, or exces-
                   sively large code size.
    
              -O3  Adds global optimizations at the function level.
                   Usually generates larger executable files.
    
              -O4  Adds automatic inlining of functions in the same
                   file. -g suppresses automatic inlining. In gen-
                   eral, -O4 results in larger code.
    
              -O5  Attempt aggressive optimizations
                   Suitable only for that small fraction of a program
                   that uses the largest fraction of compute time.
                   -O5's optimization algorithms take more compila-
                   tion time, and may also degrade performance when
                   applied to too large a fraction of the source pro-
                   gram.
    
                   Optimization at this level is more likely to
                   improve performance if it is done with profile
                   feedback. See -xprofile=p.
         -o nm
              Specify the name of the executable file to be written
    
              There must be a blank between -o and nm. Without this
              option, the default is to write the executable to
              a.out.  When used with -c, -o specifies the target .o
              object file; with -G it specifies the target .so
              library file.
    
         -onetrip
              Enable one-trip DO loops.
    
              Compile DO loops so they are performed at least once if
              reached.
    
              f90 FORTRAN DO loops are not performed at all if the
              upper limit is smaller than the lower limit, unlike
              some legacy implementations of Fortran.
    
    
    
         -p   Compile for profiling with prof.
    
              Prepare object files for profiling with prof(1).  This
              option makes profiles by procedure, showing the number
              of calls to each procedure and the percent of time used
              by each procedure.
    
              For separate compile and link steps, if you compile
              with -p, then be sure to link with -p.
    
         -pad=p
              Insert padding for efficient use of cache.
    
              This option inserts padding between arrays or character
              strings if they are:
                o   Static local and not initialized, or
                o   In common blocks
    
              NOTE: Use of -pad=common is not recommended in this
              release.
    
              For either one, the arrays or character strings can not
              be equivalenced.
    
              If p is present, it must be one of the following (no
              spaces):
                local:  Pad local variables
                common:  Pad variables in common blocks
                local,common:  Both local and common padding is done
                common,local:  Both local and common padding is done
    
                Each -pad choice is one token; no internal spaces.
    
              Defaults:
                Without the -pad[=p] option, no padding.
                With -pad, without =p, local and common padding.
    
              The following are equivalent:
                f90 -pad any.f
                f90 -pad=local,common any.f
                f90 -pad=common,local any.f
                f90 -pad=local   -pad=common any.f
                f90 -pad=common   -pad=local any.f
    
              Restrictions on -pad=common:
    
              o    If -pad=common is specified for a file that refer-
                   ences a common block, it must be specified for all
                   files that reference that common block.
    
              o    With -pad=common specified, declarations of common
                   block variables in different program units must be
                   the same except for the names of the variables.
    
              o    EQUIVALENCE declarations involving common block
                   variables cause a fatal compilation error when
                   compiled with -pad=common.
    
         -parallel
              Enable parallelization of loops using -autopar, -expli-
              citpar, -depend
    
              Parallelize loops chosen automatically by the compiler
              and explicitly specified by user supplied directives.
              Optimization level is automatically raised to -O3 if it
              is lower.
    
              -g cancels -parallel.  Debugging is facilitated by
              specifying -g without any optimization or paralleliza-
              tion options since not all debugging features are
              available when these options are invoked. See the dbx
              documentation for details.
    
              To improve performance, also specify the -stackvar
              option when using any of the parallelization options,
              including -autopar.
    
              Avoid -parallel if you do your own thread management.
              See the discussion of -mt
    
              Parallelization options like -parallel are intended to
              produce executables programs to be run on multiproces-
              sor systems. On a single-processor system, paralleliza-
              tion generally degrades performance.
    
              Parallelization options require a Sun WorkShop license.
    
              If you compile and link in separate steps, if -parallel
              appears on the compile command it must also appear on
              the link command.
    
              For more information, see the chapter on paralleliza-
              tion in the Fortran Programming Guide.
    
    
         -pg  Compile for profiling with gprof.
    
              Prepare the object files for profiling with gprof(1).
              This option makes profiles by procedure, showing the
              number of calls to each procedure and the percent of
              time used by each procedure.
    
              This option also produces counting code in the manner
              of -p, but invokes a runtime recording mechanism that
              keeps more extensive statistics and produces a gmon.out
              file at normal termination. You can then generate an
              execution profile using gprof(1).
    
              For separate compile and link steps, if you compile
              with -pg, then link with -pg.
    
         -pic Compile position-independent code for shared library.
    
              This option is used to create dynamic shared libraries.
              Each reference to a global datum is generated as a
              dereference of a pointer in the global offset table.
              Each function call is generated in program-counter-
              relative addressing mode through a procedure linkage
              table.
    
              o The size of the global offset table is limited to 8Kb
                on SPARC.
    
              o Do not mix -pic and -PIC.
    
              There are two nominal performance costs with -pic and
              -PIC:
    
                   o A routine compiled with either -pic or -PIC exe-
                     cutes a few extra instructions upon entry to set
                     a register to point at the global offset table
                     used for accessing a shared library's global or
                     static variables.
    
                   o Each access to a global or static variable
                     involves an extra indirect memory reference
                     through the global offset table. If the compile
                     is done with -PIC, there are two additional
                     instructions per global and static memory refer-
                     ence.
    
              When considering the above costs, remember that the use
              of -pic and -PIC can significantly reduce system memory
              requirements, due to the effect of library code shar-
              ing. Every page of code in a shared library compiled
              -pic or -PIC can be shared by every process that uses
              the library. If a page of code in a shared library con-
              tains even a single non-pic (that is, absolute) memory
              reference, the page becomes nonsharable, and a copy of
              the page must be created each time a program using the
              library is executed.
    
              The easiest way to tell whether or not a .o file has
              been compiled with -pic or -PIC is with the nm command:
    
                  nm file.o | grep _GLOBAL_OFFSET_TABLE_
    
              A .o file containing position-independent code will
              contain an unresolved external reference to
              _GLOBAL_OFFSET_TABLE_ as marked by the letter U.
    
              To determine whether to use -pic or -PIC, use nm to
              identify the number of distinct global and static vari-
              ables used or defined in the library. If the size of
              _GLOBAL_OFFSET_TABLE_ is under 8,192 bytes, you can use
              -pic.  Otherwise, you must use -PIC.
    
              When building shared dynamic libraries with -xarch=v9
              or v9a on 64-bit Solaris 7, the -pic or -PIC option (or
              their -xcode equivalents -xcode=pic13 or -xcode=pic32)
              MUST be specified.
    
              See also -xcode.
    
    
         -PIC Similar to -pic, with 32-bit addresses
    
              This allows the global offset table to span the range
              of 32-bit addresses. Use it for those rare cases with
              too many global data objects for -pic.
    
              On x86, -pic is the same as -PIC.
    
              Do not mix -pic with -PIC.
    
              When building shared dynamic libraries with -xarch=v9
              or v9a on 64-bit Solaris 7, the -pic or -PIC option (or
              their -xcode equivalents -xcode=pic13 or -xcode=pic32)
              MUST be specified.
    
              See also -xcode.
    
    
         -qp  Synonym for -p.
    
         -Qoption pr ls
              Pass option list ls to the compilation phase pr.
    
              This option is used primarily by customer service.
    
              The list is a comma-separated list of options, no
              blanks within the list.  Each option must be appropri-
              ate to pr and may begin with a minus sign.
              pr may be any one of the following:
                 as, fbe, cg, cpp, fpp, iropt, ld.
    
              Example: Load map:
    
    
              demo% f90 -Qoption ld -m any.f
    
         -Rlist
              Build library search paths into executable
    
              With this option, the linker, ld(1), adds a list of
              library search paths into the executable file.
    
              list is a colon-separated list of directories used to
              specify library search paths to the runtime linker. The
              list is added to the default list that f90 passes to
              the linker.
    
              The blank between -R and list is optional.
    
              Multiple instances of this option are concatenated
              together, with each list separated by a colon.
    
              Use this option if you want to export an executable
              that can run without any special option for paths to
              your dynamic libraries.
    
              Building an executable with this option adds paths to a
              default path that is always searched last:
                 /opt/SUNWspro/lib   for standard installs
                 installpath/lib    for custom installs
    
    
         -reduction
              Parallelize reduction operations in loops
    
              Analyze loops for reduction in automatic paralleliza-
              tion. To enable parallelization of reduction loops,
              specify both -reduction and -autopar.
    
              A loop that transforms the elements of an array into a
              single scalar value is called a reduction operation.
              For example, summing the elements of a vector is a typ-
              ical reduction operation. Although these operations
              violate the criteria for parallelizability, the com-
              piler can recognize them and parallelize them as spe-
              cial cases when -reduction is specified. See the For-
              tran Programming Guide chapter Parallelization for
              information on reduction operations recognized by f90.
              If you specify -reduction without -autopar, the com-
              piler issues a warning.
    
              -g cancels -reduction.  Debugging is facilitated by
              specifying -g without any optimization or paralleliza-
              tion options since not all debugging features are
              available when these options are invoked. See the dbx
              documentation for details.
              On a single-processor system, the generated code usu-
              ally runs more slowly.
    
              Example:  demo% f90 -autopar -reduction any.f
    
              There is always potential for roundoff error with
              reduction.
    
              If you have a reduction loop to be parallelized, then
              use -reduction (with -autopar, of course). Do not use
              an explicit pragma, because the explicit pragma
              prevents reduction for that loop, resulting in wrong
              answers.
    
         -S   Compile and only generate assembly code.
    
              Compile the named programs and leave the assembly
              language output on corresponding files suffixed .s (no
              .o file is created).
    
         -s   Strip the symbol table from the executable file.
    
              This option makes the executable file smaller and more
              difficult to reverse engineer. However, this option
              prevents debugging.
    
         -sb  Produce table information for the SourceBrowser.
    
         -stackvar
              Force all local variables to be allocated on the stack.
    
              Allocate all the local variables and arrays in a rou-
              tine onto the memory stack, unless otherwise specified.
              This option makes them automatic, rather than static,
              and provides more freedom to the optimizer for paral-
              lelizing a CALL in a loop.
    
              Use of -stackvar is recommended with any of the paral-
              lelization options.
    
              Variables and arrays are local, unless they are:
    
              o    Arguments in a SUBROUTINE or FUNCTION statement
                   (already on stack)
    
              o    Global items in a COMMON or SAVE, or STATIC state-
                   ment
    
              o    Initialized items in a type statement or a DATA
                   statement, such as:
                       REAL X/8.0/ or DATA X/8.0/
    
              Putting large arrays onto the stack with -stackvar can
              overflow the stack causing segmentation faults.
              Increasing the stack size may be required.
    
              There are two stacks:
    
                 The whole program has a main stack.
                 Each thread of a multi-threaded program has a thread
                 stack.
    
              The default stack size is about 8 Megabytes for the
              main stack and 256 Kilobytes for each thread stack. The
              limit command (with no parameters) shows the current
              main stack size.
    
              You can set the main stack size to 64 Megabytes, for
              example, with the
                 limit stacksize 65536
              command. See the Fortran User's Guide.
    
         -temp=dir
              Define directory for temporary files.
    
              Set the directory for temporary files used by f90 to be
              dir instead of the /tmp directory.
    
         -time
              Show execution time for each compilation phase.
    
         -unroll=n
              Enable unrolling of DO loops n times where possible.
    
              n is a positive integer.
    
              n = 1, inhibits all loop unrolling
    
              n > 1, this option suggests to the optimizer that it
              unroll loops n times.
    
              If any loops are actually unrolled, then the executable
              file is larger.
    
         -V   Show name and version of each compilation phase.
    
         -v   Verbose mode - show compilation details
    
              Like -V but also show detail of options and environment
              variables used by the driver.
    
    
         -vpara
              Show verbose parallelization messages
              Parallelization options require a Sun WorkShop license.
    
              As the compiler detects each explicitly parallelized
              loop that has dependencies, it issues a warning message
              but the loop is parallelized.
    
              Use with -explictpar and a C$MIC DOALL parallel pragma.
    
              Example:  demo% f90 -explicitpar -vpara any.f
    
         -w   Suppress warning messages.
    
              This option suppresses most warnings. However, if you
              specify two options, and the second one overrides all
              or part of the first one, the compiler issues a warn-
              ing.
    
         -xa  Synonym for -a.
    
         -xarch=a
              Specify the target architecture instruction set.
    
              a must be one of the following depending on platform.
    
              generic, v7, v8a, v8, v8plus, v8plusa, v9, v9a.
    
              Note that v9 and v9a are only available on 64-bit
              Solaris 7.
    
              Although this option can be used alone, it is part of
              the expansion of the -xtarget option; its primary use
              is to override a value supplied by the -xtarget option.
    
              This option limits the instructions generated to those
              of the specified architecture, and allows the specified
              set of instructions. It does not guarantee an instruc-
              tion is used; however, under optimization, it is usu-
              ally used.
    
              If this option is used with optimization, the appropri-
              ate choice can provide good performance of the execut-
              able on the specified architecture. An inappropriate
              choice can result in serious degradation of perfor-
              mance.
    
              v7, v8, and v8a are all binary compatible. v8plus and
              v8plusa are binary compatible with each other and for-
              ward, but not backward.
    
              For any particular choice, the generated executable can
              run much more slowly on earlier architectures (to the
              left in the above list).
              v9, and v9a are binary compatible with each other, but
              not backward compatible with the earlier architectures.
    
              The -xarch values on SPARC are:
    
              generic Get good performance on most SPARCs, and major
                      degradation on none. This is the default.
    
              v7      Limit the instruction set to V7 architecture.
    
              v8a     Limit the instruction set to the V8a version of
                      the V8 architecture.
    
              v8      Limit the instruction set to V8 architecture.
    
              v8plus  Limit the instruction set to the V8plus version
                      of the V9 architecture.
    
              v8plusa Limit the instruction set to the V8plusa ver-
                      sion of the V9 architecture with version 1.0 of
                      the Visual Instruction Set (VIS).
    
              v9      Limits instruction set to the SPARC-V9 archi-
                      tecture.
                      The resulting .o object files are in 64-bit ELF
                      format and can only be linked with other object
                      files in the same format. The resulting execut-
                      able can only be run on a 64-bit SPARC proces-
                      sor running 64-bit Solaris 7 with the 64-bit
                      kernel.  Compiling with this option uses the
                      best instruction set for good performance on
                      the V9 SPARC architecture, but without the use
                      of quad-precision floating-point instructions.
                      (Available only on 64-bit Solaris 7)
    
              v9a     Limits instruction set to the SPARC-V9 archi-
                      tecture, adding the Visual Instruction Set
                      (VIS) and extensions specific to UltraSPARC
                      processors.
                      The resulting .o object files are in 64-bit ELF
                      format and can only be linked with other object
                      files in the same format. The resulting execut-
                      able can only be run on a 64-bit SPARC proces-
                      sor running 64-bit Solaris 7 with the 64-bit
                      kernel.  Compiling with this option uses the
                      best instruction set for good performance on
                      the V9 UltraSPARC architecture, but without the
                      use of quad-precision floating-point instruc-
                      tions.
                      (Available only on 64-bit Solaris 7)
    
              Use of -xarch=v8plus or v8plusa causes the .o file to
              be marked as a V8plus binary; such binaries will not
              run on a V7 or V8 machine.
    
              See the Fortran User's Guide for more complete defini-
              tions.
    
         -xautopar
              Synonym for -autopar
    
         -xcache=c
              Define cache for optimizer
    
              Define cache properties for use by optimizer.
    
              c must be one of the following:
                 o generic
                 o s1/l1/a1
                 o s1/l1/a1:s2/l2/a2
                 o s1/l1/a1:s2/l2/a2:s3/l3/a3
              The si, li, and ai, are defined as follows:
              si The size of the data cache at level i, in kilobytes
              li The line size of the data cache at level i, in bytes
              ai The associativity of the data cache at level i
              This option specifies the cache properties that the
              optimizer can use. It does not guarantee that any par-
              ticular cache property is used.
              Although this option can be used alone, it is part of
              the expansion of the -xtarget option; its primary use
              is to override a value supplied by the -xtarget option.
    
              The -xcache values are:
              generic
                    Define the cache properties for good performance
                    on most SPARCs. This is the default.
              s1/l1/a1
                    Define level 1 cache properties.
              s1/l1/a1:s2/l2/a2
                    Define levels 1 and 2 cache properties.
              s1/l1/a1:s2/l2/a2:s3/l3/a3
                    Define levels 1, 2, and 3 cache properties.
    
         -xcg89
              Synonym for -cg89.
    
         -xcg92
              Synonym for -cg92.
    
         -xchip=c
              Specify target processor for optimizer.
    
              Specify the target processor for use by the optimizer.
    
              c must be one of the following, depending on platform.
    
              On SPARC:  generic, old, super, super2, micro, micro2,
              hyper, hyper2, powerup, ultra, ultra2, ultrai.
    
              This option specifies timing properties by specifying
              the target processor.
    
              Although this option can be used alone, it is part of
              the expansion of the -xtarget option; its primary use
              is to override a value supplied by the -xtarget option.
    
              Some effects are:
              o The ordering of instructions, that is, scheduling
              o The way the compiler uses branches
              o The instructions to use in cases where semantically
                equivalent alternatives are available
              The -xchip values on SPARC are:
              generic Optimize for good performance on most SPARCs.
              old     Optimize for pre-SuperSPARC processors.
              super   Optimize for the SuperSPARC(TM) chip.
              super2  Optimize for the SuperSPARC II(TM) chip.
              micro   Optimize for the MicroSPARC(TM) chip.
              micro2  Optimize for the MicroSPARC II(TM) chip.
              hyper   Optimize for the HyperSPARC(TM) chip.
              hyper2  Optimize for the HyperSPARC II(TM) chip.
              powerup Optimize for the Weitek(R) PowerUp(TM) chip.
              ultra   Optimize for the UltraSPARC(TM) chip.
              ultra2  Optimize for the UltraSPARC II(TM) chip.
              ultra2i Optimize for the UltraSPARC IIi(TM) chip.
              For complete information, see the Fortran User's Guide
    
         -xcode=v
              Specify code address space
    
              The following values for -xcode are:
    
              abs32   Generate 32-bit absolute addresses.
                      Code + data + bss size is limited to 2**32
                      bytes.  This is the default on 32-bit architec-
                      tures:  arch=generic,v7,v8,v8a,v8plus,v8plusa
    
              abs44   Generate 44-bit absolute addresses.
                      Code + data + bss size is limited to 2**44
                      bytes.  Available only on 64-bit architectures:
                      -xarch=v9,v9a
    
              abs64   Generate 64-bit absolute addresses.
                      Available only on 64-bit architectures:
                      -xarch=v9,v9a
    
              pic13   Generate position-independent code (small
                      model).
                      Equivalent to -pic.  Permits references to at
                      most 2**11 unique external symbols on 32-bit
                      architectures, 2**10 on 64-bit.
    
              pic32   Generate position-independent code (large
                      model).
                      Equivalent to -PIC.  Permits references to at
                      most 2**30 unique external symbols on 32-bit
                      architectures, 2**29 on 64-bit.
    
              The default is -xcode=abs32 for SPARC V8 and V7.  The
              default is -xcode=abs64 for SPARC and UltraSPARC V9
              (with -xarch=v9|v9a).
    
              When building shared dynamic libraries with -xarch=v9
              or v9a on 64-bit Solaris 7, a -xcode=pic13 or pic32 (or
              -pic or -PIC) option MUST be specified.
    
    
    
         -xdepend
              Synonym for -depend
    
         -xexplicitpar
              Synonym for -explicitpar
    
         -xhelp=h
              Show options summary or README file.
    
              h is either readme or flags.
    
              readme:  Show the online README file.
              flags:  Show the compiler flags (options).
    
              -xhelp=flags is a synonym for -help.
    
         -xildoff
              Turn off Incremental Linker
              This forces the use of the standard linker, ld.
    
              This option is the default if you do not use -g.  It is
              also the default if you use -G or name any source file
              on the command line.
    
              Override this default by using -xildon.
    
         -xildon
              Turn on Incremental Linker
              Turn on the Incremental Linker and force the use of ild
              in incremental mode.
    
              This option is the default if you use -g, and do not
              use -G, and do not name any source file on the command
              line.
    
              Override this default by using -xildoff.
    
         -xinline=rl
              Synonym for -inline=rl.
    
         -xlibmil
              Synonym for -libmil.
    
         -xlibmopt
              Use library of optimized math routines
    
              Use a library of selected math routines optimized for
              performance.  This option usually generates faster
              code. It may produce slightly different results; if so,
              they usually differ in the last bit.  The order on the
              command line for this library option is not signifi-
              cant.
    
         -xlicinfo
              Show license server user IDs.
    
              Return license information about the licensing system.
              In particular, return the name of the license server
              and the IDs of users who have obtained licenses.
    
              Generally, with this option, no compilation is done,
              and a license is not checked out. If a conflicting
              option is used, then the latest one on the command line
              takes precedence, and a warning is issued.
         -xlic_lib=libs
              Link with specified Sun licensed libraries.
    
              Example: linking with the Sun Performance Library:
                 f90 -o pgx -fast -pgx.f -xlic_lib=sunperf
    
              libs is a comma-delimited list of libraries.
    
              As with -l it should appear after all source and object
              file names on the command line.
    
         -Xlist
              Produce lisitings and do global program checking.
    
              Check across routines for consistency.  This option
              helps find a variety of bugs. In general, -Xlist also
              makes a line-numbered listing of the source and a cross
              reference table of the identifiers. The errors that are
              found do not prevent the program from being compiled
              and linked.
    
              Output is to a file with a name like the first file
              name but with a .lst extension.
    
              Example: Errors, listing, and xref to file1.lst
    
                 demo% f90 -Xlist file1.f file2.f
    
              Summary of -Xlist Suboptions
    
              -Xlist         Default: listings, errors, xref
              -XlistE        Errors only (no xref or listings)
              -Xlisterr      Suppress all -Xlist error messages
              -Xlisterr[n]   Suppress -Xlist error message n.
              -XlistI        Check include files also
              -XlistL        Listings only (no xref)
              -Xlistl[n]     Page length is n lines
              -Xlistonm      Output to nm instead of to file.lst
              -Xlistw[nnn]   Set output line width to n; default is
                             79
              -Xlistwar      Suppress all -Xlist warning messages
              -Xlistwar[n]   Suppress -Xlist warning message n.
              -XlistX        Xref only (no listings)
    
    
    
         -xloopinfo
              Synonym for -loopinfo
    
    
         -xnolib
              Synonym for -nolib.
    
    
         -xnolibmil
              Synonym for -nolibmil.
    
    
         -xnolibmopt
              Cancel -xlibmopt
    
              Use with -fast to cancel linking with the optimized
              math library.
    
    
         -xO[n]
              Synonym for -O[n].
    
    
         -xpad
              Synonym for -pad
    
         -xparallel
              Synonym for -parallel
    
    
         -xpg Synonym for -pg.
    
    
         -xpp=p
              Select source file preprocessor.
    
              p is either fpp or cpp.  Selects the source file
              preprocessor to be used with .F files. The default is
              fpp, which is appropriate for Fortran. Previous ver-
              sions of the compiler used cpp, the standard C language
              preprocessor. To select cpp, specify -xpp=cpp.
    
    
         -xprefetch[={yes|no}]
              Use prefetch instructions on UltraSPARC II processors.
    
              With -xprefetch=yes, the compiler is free to insert
              prefetch instructions into the code it generates. This
              may result in a performance improvement on UltraSPARC
              II processors.
    
              The default if not specified is -xprefetch=no. Specify-
              ing -xprefetch alone is equivalent to -xprefetch=yes.
    
         -xprofile=p
              Collect or optimize with runtime profiling data
    
              Collect and save execution frequency data during execu-
              tion; then use the data in subsequent runs to improve
              performance.
    
              p must be collect[:nm], use[:nm], tcov, or func.
    
    
              If compilation and linking are performed in separate
              steps, the same -xprofile option must appear on the
              compile as well as the link step.
    
              collect[:nm]
                       Collect and save execution frequency data for
                       later use by the optimizer with -xprofile=use.
                       The compiler generates code to measure state-
                       ment execution frequency.
    
                       The nm is the name of the program that is
                       being analyzed. This name is optional. If not
                       specified, a.out is assumed to be the name of
                       the executable.
                       At runtime a program compiled with -
                       xprofile=collect:nm will create the subdirec-
                       tory nm.profile to hold the runtime feedback
                       information. Data is written to the file feed-
                       back in this subdirectory. If you run the pro-
                       gram several times, the execution frequency
                       data accumulates in the feedback file; that
                       is, output from prior runs is not lost.
    
              use[:nm] Use execution frequency data to optimize stra-
                       tegically.
    
                       As with collect:nm, the nm is optional and may
                       be used to specify the name of the program.
    
                       The program is optimized by using the execu-
                       tion frequency data previously generated and
                       saved in the feedback files written by a pre-
                       vious execution of the program compiled with
                       -xprofile=collect.
    
                       The source files and other compiler options
                       must be exactly the same as used for the com-
                       pilation that created the compiled program
                       that generated the feedback file. If compiled
                       with -xprofile=collect:nm, the same program
                       name nm must appear in the optimizing compila-
                       tion: -xprofile=use:nm.
    
              tcov     Basic block coverage analysis using "new"
                       style tcov(1).
    
                       Code instrumentation is similar to that of -a,
                       but .d files are no longer generated for each
                       source file. Instead, a single file is gen-
                       erated, whose name is based on the name of the
                       final executable. For example, if stuff is the
                       executable file, then stuff.profile/tcovd is
                       the data file.
    
                       When running tcov you must pass it the -x
                       option to make it use the new style of data.
                       If not, tcov uses the old .d files, if any, by
                       default for data, and produces unexpected out-
                       put.
    
                       Unlike -a, the TCOVDIR environment variable
                       has no effect at compile-time.  However, its
                       value is used at program runtime to identify
                       where to create the profile subdirectory.
    
    
         -xreduction
              Synonym for -reduction
    
    
         -xregs=r
              Specify register usage (SPARC Only).
    
              Specify usage of registers in generated code.
    
              r is a comma-separated list of one or more of the fol-
              lowing:  [no%]appl, [no%]float.
    
    
              The -xregs values are for specific -xarch values):
    
              appl     Allow using registers g2, g3, and g4.  (v8,
                       v8a)
                       Allow using registers g2, g3, g4, and g5.
                       (v8plus, v8plusa)
                       Allow using registers g2, g3.  (v9, v9a)
    
              no%appl  Do not use appl registers.
    
              float    Allow using floating-point registers as speci-
                       fied in the SPARC ABI.
    
              no%float Do not use floating-point registers.
    
              The default is:  -xregs=appl,float.
    
    
         -xs Allow debugging by dbx without .o files.
    
             With -xs, if you move executables to another directory,
             then you can use dbx and ignore the object (.o) files.
             Use this option in case you cannot keep the .o files
             around.
    
             This option reverts to implementing symbol tables as
             implemented in release 1.4 and earlier. For this older
             way, if you move the executables, you must also move the
             source files, but you can ignore the object files. Also,
             the loader links more slowly, and dbx initializes more
             slowly. For comparison, with the newer way, which is now
             the default, the loader links faster, and dbx initial-
             izes faster. If you move the executables, you must move
             both the source files and the object ( .o ) files, or
             set the path with the dbx pathmap or use command.
    
             This option passes the -s option to the assembler.
    
    
         -xsafe=mem
             Assume no memory-based traps
    
             Allow the compiler to assume no memory-based traps occur
             This option grants permission to use the speculative
             load instruction on V9 machines. It is only effective
             when used with -O5 optimization, and
             -xarch=v8plus|v8plusa|v9|v9a is specified.
    
    
         -xsb
             Synonym for -sb.
    
         -xspace
             Do not increase code size
    
             Do no optimizations that increase the code size.
             Example: Do not unroll loops.
    
    
         -xtarget=t
             Specify system for optimization
    
             Specify the target system for the instruction set and
             optimization.
    
             t must be one of: native, generic, system-name.
    
             The -xtarget option permits a quick and easy specifica-
             tion of the -xarch, -xchip, and -xcache combinations
             that occur on real systems. The only meaning of -xtarget
             is in its expansion.
    
             The -xtarget values are:
    
             native:  Get the best performance on the host system.
    
             generic:  Get the best performance for generic architec-
             ture, chip, and cache. This is the default.
    
             system-name:  Get the best performance for the specified
             system.
    
             Valid system names on SPARC are: sun4/15, sun4/20,
             sun4/25, sun4/30, sun4/40, sun4/50, sun4/60, sun4/65,
             sun4/75, sun4/110, sun4/150, sun4/260, sun4/280,
             sun4/330, sun4/370, sun4/390, sun4/470, sun4/490,
             sun4/630, sun4/670, sun4/690, sselc, ssipc, ssipx, sslc,
             sslt, sslx, sslx2, ssslc, ss1, ss1plus, ss2, ss2p, ss4,
             ss5, ssvyger, ss10, ss10/hs11, ss10/hs12, ss10/hs14,
             ss10/20, ss10/hs21, ss10/hs22, ss10/30, ss10/40,
             ss10/41, ss10/50, ss10/51, ss10/61, ss10/71, ss10/402,
             ss10/412, ss10/512, ss10/514, ss10/612, ss10/712,
             ss20/hs11, ss20/hs12, ss20/hs14, ss20/hs21, ss20/hs22,
             ss20/51, ss20/61, ss20/71, ss20/502, ss20/512, ss20/514,
             ss20/612, ss20/712, ss600/41, ss600/51, ss600/61,
             ss600/120, ss600/140, ss600/412, ss600/512, ss600/514,
             ss600/612, ss1000, sc2000, cs6400, solb5, solb6, ultra,
             ultra2, ultra2i, ultra1/140, ultra1/170, ultra1/200,
             ultra2/1170, ultra2/1200, ultra2/1300, ultra2/2170,
             ultra2/2200, ultra2/2300, entr2, entr2/1170, entr2/2170,
             entr2/1200, entr2/2200, entr150, entr3000, entr4000,
             entr5000, entr6000.
    
             Compiling for 64-bit Solaris 7 on SPARC or UltraSPARC V9
             is indicated by the -xarch=v9 or -xarch=v9a flag. Set-
             ting -xtarget=ultra or ultra2 is not necessary or suffi-
             cient.  If -xtarget is specified, the -xarch=v9 or v9a
             option must appear AFTER the -xtarget, as in:
                        -xtarget=ultra2 ... -xarch=v9 otherwise the
             -xtarget setting will revert -xarch to v8.
    
             See the section on -xtarget=t in the Fortran User's
             Guide for the -xtarget expansions that show the mnemonic
             encodings of the actual system names and numbers.
    
             This option is a macro. Each specific value for -xtarget
             expands into a specific set of values for the -xarch,
             -xchip, and -xcache options. For example:
             -xtarget=sun4/15 is equivalent to:
             -xarch=v8a -xchip=micro -xcache=2/16/1
    
             fpversion(1) can be used to see the -xtarget or
             -xarch, -xchip, and -xcache options equivalent to
             -xtarget=native on any system.
    
    
         -xtime
             Synonym for -time.
    
    
         -xunroll=n
             Synonym for -unroll=n
    
    
         -xvector[={yes|no}]
             Enable automatic generation of calls to the vector
             library functions.
    
             -xvector=yes permits the compiler to transform math
             library calls within DO loops into single calls to the
             equivalent vector math routines when such transforma-
             tions are possible. This could result in a performance
             improvement for loops with large loop counts.
             The default if not specified is -xvector=no.  Specifying
             -xvector is equivalent to -xvector=yes.
    
             This option also triggers -depend if -depend is not
             already specified prior to -xvector on the command line.
             However, -nodepend following -xvector on the command
             line will cancel the effect of -xvector.
    
             The compiler automatically informs the linker to include
             the libmvec and libc libraries in the load step. If com-
             piling and linking are done in separate commands, -xvec-
             tor must also appear on the linking f90 command.
    
    
         -Zlp
             Compile for loop profiling by looptool.
    
             Prepare object files for the loop profiler looptool,
             part of the Sun WorkShop.  This option requires a
             WorkShop license.
    
             If you compile and link in separate steps, and you com-
             pile with -Zlp, then be sure to link with -Zlp.
    
             If you compile one subprogram with -Zlp, you need not
             compile all subprograms of that program with -Zlp.  How-
             ever, you get loop information only for the files com-
             piled with -Zlp, and no indication that the program
             includes other files.
    
    
         -ztext
             Make no library with relocations
    
             Do not make the library if relocations remain.  The gen-
             eral purpose of -ztext is to ask if the generated
             library is pure text; instructions are all position-
             independent code. Therefore, it is generally used with
             both -G and -pic.
    
             With -ztext, if ld finds an incomplete relocation in the
             text segment, then it does not build the library. If it
             finds one in the data segment, then it generally builds
             the library anyway; the data segment is writable.
    
             Without -ztext, ld builds the library, relocations or
             not.
    
             A typical use is to make a library from both source
             files and object files, where you do not know if the
             object files were made with -pic.
    
         Other arguments are taken to be either linker option argu-
         ments, or names of f90-compatible object programs, typically
         produced by an earlier run, or libraries of routines that
         are f90-compatible.  These programs, together with the
         results of any compilations specified, are linked in the
         order given to produce an executable program in the file
         specified by the -o option, or in a file named a.out if the
         -o option is not specified.
    
    DIRECTIVES
         General Directives:  f90 allows general compiler directive
         lines starting with C$PRAGMA, !$PRAGMA, or *$PRAGMA, and any
         uppercase or lowercase is allowed.  Examples:
    
           C$PRAGMA C( suba, subz)
           C$PRAGMA SUN UNROLL 2
           C$PRAGMA WEAK FUNK
    
         Parallel Directives:  f90 allows parallel compiler directive
         lines starting with C$PAR, !$PAR, or *$PAR, and any upper-
         case or lowercase is allowed.  Examples:
    
           C$PAR DOALL
           C$PAR DOSERIAL
           C$PAR DOSERIAL*
           C$PAR TASK COMMON
    
         See the Fortran User's Guide for details and variations.
    
    ENVIRONMENT
         The paths shown below assume a standard installation of the
         Sun WorkShop Compilers to /opt/SUNWspro/.  Contact your sys-
         tem administrator if your compilers were custom installed to
         some other directory path.
    
      PATH
         To use f90, add the following to the start of the search
         path:
    
         /opt/SUNWspro/bin/
    
    
      MANPATH
         To access the f90 man pages, add the following to the MAN-
         PATH environment variable:
    
         /opt/SUNWspro/man/
    
    
      LD_LIBRARY_PATH
         Generally, you need not set up LD_LIBRARY_PATH.  If you do
         need to do so, then maybe there is some discrepancy in the
         installation, or some executable has been built incorrectly.
    
         Set the LD_LIBRARY_PATH, environment variable to:
    
         /opt/SUNWspro/lib/
    
    
      LD_LIBRARY_PATH_64
         On Solaris 7, this environment variable is similar to
         LD_LIBRARY_PATH but overrides it when searching for 64-bit
         dependencies.
    
         When running Solaris 7 on a SPARC processor and linking in
         32-bit mode, LD_LIBRARY_PATH_64 is ignored.  If only
         LD_LIBRARY_PATH is defined, it us used for both 32-bit and
         64-bit linking.  If both LD_LIBRARY_PATH and
         LD_LIBRARY_PATH_64 are defined, the 32-bit linking will be
         done using LD_LIBRARY_PATH and the 64-bit linking using
         LD_LIBRARY_PATH_64.
    
         See Linker and Libraries Guide for more information on these
         environment variables.
    
    
      LD_RUN_PATH
         If you use LD_RUN_PATH, note that for f90, LD_RUN_PATH is
         not identical with -R.  (For ld.so, they are identical.)
         See -R, in the Fortran User's Guide, for details.
    
    FILES
         Selected major files used by the compiler
         a.out                Executable output file
         file.a               Library of object files
         file.d               Test coverage input file for tcov(1)
         file.f               FORTRAN source file
         file.f90             Fortran 90 source file
         file.F               FORTRAN source file for fpp(1)
         file.F90             Fortran 90 source file for fpp(1)
         file.for             FORTRAN source file
         file.il              In-line expansion file
         file.o               Object file
         file.r               Ratfor source file
         file.s               Assembler source file
         file.S               Assembler source for cpp(1)
         file.tcov            Output from tcov(1)
    
         /usr/lib/libc.a      Standard C library, see intro(3)
         /usr/lib/libp/libc.a Profiling library, see intro(3)
         /tmp/*               Compiler temporary files
         mon.out              File produced for analysis by prof(1)
         gmon.out             File produced for analysis by gprof(1)
    
    
    
         For the remaining files, if no absolute path is shown then
         they are in the following directory:
    
         /opt/SUNWspro/SC5.0/
    
         The `SC5.0' varies with each release of the compilers.
    
         bin/fpp
              Fortran preprocessor
         bin/cpp
              C preprocessor
         include/f90
              Path searched for f90 INCLUDE statement
         include/f90/f90_floatingpoint.h
              f90 IEEE arithmetic type definitions
    
         The following libraries exist in both .so and .a versions:
         lib/libfsu
              f90 support intrinsics
         lib/libfui
              f90 - UNIX interface
         lib/libfio
              Fortran 90 I/O
         lib/libf*ai
              Fortran 90 array intrinsics libraries
         lib/libf77compat
              f77 I/O compatibility library
         lib/libposix9
              f90 POSIX interface
    
         /usr/lib/libm.a
              Math lib
         /usr/lib/libp/libm.a
              Math profile lib
         lib/libsunmath.a
              Sun value-added math lib
         lib/libp/libsunmath.a
              Sun value-added math profile lib
    
    READMEs
         A number of README files provide valuable last-minute infor-
         mation on the compilers and libraries, including white
         papers. Of particular interest are:
    
              o   fortran_90
              o   math_libraries
              o   64bit_Compilers
    
         The path to the READMEs directory is:
           <install_path>/SUNWspro/READMEs/
    
         where <install_path> is usually /opt in a standard install.
    
    SEE ALSO
         asa(1),  cc(1),  dbx(1),  fpp(1),  fpr(1),  fsplit(1),
         gprof(1),  ild(1),  ld(1),  perror(3f),  prof(1),  tcov(1)
    
         Fortran User's Guide
         Fortran Programming Guide
         Numerical Computation Guide
         Analyzing Program Performance with Sun WorkShop
         Fortran Library Reference
         Linker and Libraries Guide (ld)
         Debugging a Program With dbx
    
         Sun Performance Library:  See the performance_library infor-
         mation file and the libsunperf Reference Manual PostScript
         files in the READMEs/ directory. This library is part of the
         Sun Performance WorkShop and contains subroutines and func-
         tions for operations in computational linear algebra and
         Fourier transforms.
    
         POSIX bindings:  The POSIX bindings provided are for IEEE
         Standard 1003.9-1992.  IEEE 1003.9 is a binding of 1003.1-
         1990 to Fortran.
    
         POSIX.1 documents:
              o    ISO/IEC 9945-1:1990
              o    IEEE Standard 1003.1-1990
              o    ISO/IEC 9945-1:1996
              o    IEEE CS Catalog number 1019
    
         To find out precisely what POSIX Fortran bindings are, you
         need both the 1003.9 and the POSIX.1 documents.
    
         For information on ordering these documents, see the chapter
         on libraries in the Fortran Programming Guide.
    
    DIAGNOSTICS
         The diagnostics produced by f90 itself are intended to be
         self-explanatory. Occasional messages may be produced by the
         linker.  The error messages are listed in perror(3f).
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру