Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pc(1) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                    pc(1)



        _________________________________________________________________
        pc                                                        Command
        Pascal language compiler in DG/UX
        _________________________________________________________________


        SYNTAX

        pc [ option ] [ option name ... ] name ....


        DESCRIPTION

        Pascal is an optional language for DG/UX.  The pc(1) command
        invokes the Pascal compiler and linker to create an executable
        module, which is called a.out by default.   DG/UX Pascal conforms
        to the Draft Proposed American National Standard programming
        language Pascal (issued by the joint ANSI X3J9-IEEE Pascal
        Standards Committee).  It will compile any number of Pascal files
        into object files then link these files to create the executable
        module.

        All Pascal filenames must have a .p or .pas extension.  If pc(1)
        is given a name without any extension it will first look for a
        file with a .p extension, then for one with a .pas extension.
        There must be one and only one program statement among the object
        files linked to successfully create an executable module.  Object
        files created by other language processors may be linked together
        with object files created by pc(1).

        DG/UX switches are handled by the DG/UX Pascal compiler, the
        pc(1), or ld(1), the link editor.


           Pc switches

        These are all of the switches that are handled by pc(1):

        -Bpath        Construct path names for an alternate C compiler,
                      F77 compiler, Pascal compiler, assembler, and
                      linker by concatenating string with ccomp, f77,
                      pascal, as, and ld respectively.  If path is not
                      specified, the following pathnames will be used:

                           /usr/dgc/ccomp
                           /usr/f77/fcomp
                           /usr/pascal/pcomp
                           /lib/as
                           /lib/ld

        -c            Do not link object files.



        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                                    pc(1)



        -g            Produce information for source-level debugger.

        -j[012]       Specify the error level that is acceptable.  The
                      levels are as follows:

                      -j0  Delete object file on any error.

                      -j1  Level 1 warnings are not considered a fatal
                           error.

                      -j2  Level 1 warnings and Level 2 errors are not
                           fatal.  This is the default.

        -Olevel       Optimize, optionally specifying level, a number
                      from 0 to 3.  Compiler returns an error unless
                      -PNOCHECK is also specified; see below.

        -p            Reserved for profiling.

        -S            After compilation, run a disassembler to produce an
                      assembly language file that can be assembled to
                      give an equivalent object file.  Note that the
                      object file produced by the compilers and that
                      produced by the assembler after assembling a file
                      produced with -S will not compare exactly.  This is
                      due to the fact that the compilers and the
                      assembler produce object blocks in different
                      orders.

        -toptions     Options may be one or more of the set acflp; they
                      control which programs are controlled by the -B
                      option.  The options are:

                      [a]  The designated alternate assembler.

                      [c]  The C compiler.

                      [f]  The F77 compiler.

                      [l]  The linker.

                      [p]  The Pascal compiler.

        If no letter is specified after the -t option, cfp will be used.
        If no -B option was specified, the following pathnames will be
        used:

             /usr/dgc/ccomp
             /usr/f77/fcomp
             /usr/pascal/pcomp
             /lib/as



        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)





                                                                    pc(1)



             /lib/ld

        -v   Verbose operation. Print the command lines of Pascal, as,
             and ld as they are executed.

        -Woption,args...
             Pass arg(s) to the facility specified by option, which is
             only one letter from the set acflp.  Option must be followed
             by a comma, and commas must separate the arguments. White
             space is not allowed anywhere in this switch.  The option
             indicates that the arg(s) will be passed to the assembler
             [a],  C  compiler [c], F77 compiler [f], linker [l], or
             Pascal compiler [p].

        -YPdir
             Find the pascal compiler in dir.


           AOS/VS switches

        These switches are supplied for compatibility with Pascal on
        AOS/VS.  The following switch is read by DG/UX Pascal:

        -Poption
             Specify an AOS/VS Pascal option, one from the list below.
             You may include any number of -P switches on the command
             line.  Option may be uppercase or lowercase.  For example,
             either -PCODE or -Pcode would invoke the CODE switch in
             AOS/VS.

        Here is a list of AOS/VS switches. If the switch described is not
        on by default, then the default is specified within parentheses.

        CHECK         Overrides the "check" compiler directives and
                      produces full runtime checking.

        CODE          Produces an object code listing if the L switch is
                      also specified. (NOCODE)

        CODEMAP       Produces a code offset map.  (NOCODEMAP)

        DEBUG         Produces output symbol and lines information for
                      use by the dbx debugger. (NODEBUG)

        E=name        Write error messages to file name.  Without name,
                      Pascal writes error messages to the default output
                      file.  If a listing file is requested (L=) errors
                      are reported in the listing also.

        ERRORCOUNT=n  Terminates compilation after n errors are reported.
                      The default is 100 errors.



        DG/UX 4.00                                                 Page 3
               Licensed material--property of copyright holder(s)





                                                                    pc(1)



        INTEGER=size  Specifies the container size and range for values
                      of type INTEGER Size may be LONG or SHORT.(LONG)

        L=name        Directs output listing to file name.  If no file is
                      named the output goes to the default output file.
                      If a file is named, but doesn't exist, Pascal
                      creates it.  Source lines in the listing that begin
                      as part of a comment are flagged by a star (*).
                      Lines from include files are flagged by an I.

        LINEID        Produces line numbers that can be referred to by
                      the runtime error reporter. (NOLINEID)

        N             Does not produce an object file.

        NESTLEVEL     Reports each line's nesting level on the listing.
                      (NONESTLEVEL)

        NOCHECK       Overrides all of the "check" compiler directives
                      that emit code to perform runtime error checking.
                      Performs no runtime error checking. This option
                      should always be used for final-pass optimization.
                      Unless it is present, you cannot achieve
                      optimization.

        NOMAP         Does not produce a storage map.  (MAP)

        O=name        Writes object file to name.o.

        OPTIMIZE=num  Specifies optimization level.  If level number is
                      not given (1, 2, or 3), level 3 if assumed.  The
                      compiler issues a warning message if optimization
                      if specified and any runtime checks are being
                      emitted, or if any other compiler switch is
                      selected which would inhibit optimization or cause
                      additional code to be generated.

        OVERRIDE=directive_settings
                      Overrides the compiler directives in the source
                      listing and uses the specified settings instead.
                      List directive settings in a single string with no
                      intervening delimiters.  For example,
                      OVERRIDE=V+R+I.  A compiler warning occurs if an
                      override setting is in conflict with either the
                      CHECK or NOCHECK switch.

        PROCID        Produces runtime procedure name information for the
                      error reporter.  (NOPROCID)

        STANDARDWARNINGS
                      Reports usage of nonstandard constructs (Data



        DG/UX 4.00                                                 Page 4
               Licensed material--property of copyright holder(s)





                                                                    pc(1)



                      General Pascal extensions) in the source.  Reported
                      as a NOTE 0 message.  (NOSTANDARDWARNINGS)

        STATISTICS    Writes compilation statistics to the default output
                      file and to the L=file, if specified.
                      (NOSTATISTICS)

        TMPDIR=prefix Inserts the specified prefix in front of the
                      temporary file name used by the compiler.
                      Normally, Pascal creates temporary files in the
                      working directory.  This switch causes the compiler
                      to create temporary files in a directory other than
                      the working directory.  When the prefix is a
                      directory pathname, it must be followed by a colon.

        XREF          Appends a cross-reference listing to the listing
                      file.  The cross-reference listing contains
                      information on each named constant, type and
                      variable.  You must specify the L switch when you
                      use this switch.  (NOXREF)


           Ld switches

        These switches are automatically passed to ld(1), the link
        editor:

        -e symbol     Starting address is symbol.

        -lname        Search for library libname.a.

        -L dir        Search for libraries in dir before searching /lib
                      and /usr/lib.

        -m            Produce a link map.

        -M            Warn about multiply defined symbols.

        -N            Compress text and data.

        -o file       Executable module is called file instead of a.out.

        -r            Produce relocatable output which can be used as an
                      input file to a subsequent ld run.  The linker will
                      not complain about unresolved references, and the
                      output file will not be executable.  This requires
                      the revision 4.00 DG/UX linker.

        -RD num       Set beginning data address to num.

        -RT num       Set beginning text address to num.



        DG/UX 4.00                                                 Page 5
               Licensed material--property of copyright holder(s)





                                                                    pc(1)



        -s            Strip symbol table information.

        -u name       Add name as an external.

        -V            Print the revision number of ld and as.

        -VS rev       Set program's revision number to rev.

        -x            Strip local symbols.

        -YLdir        Use dir as the first default library directory to
                      be searched by the linker instead of /lib.

        -YUdir        Use dir as the second default library directory to
                      be searched by the linker instead of /usr/lib.

        -z            Ignored.  In other versions, this forces address
                      zero not to be bound to check for NULL pointers.
                      Since users are always bound to ring 7 under DG/UX,
                      address zero is never valid.

        -Q            Don't compress uninitialized static (bss) data.


        FILES

        file.p or file.pas            Pascal source files
        /usr/pascal/pcomp             Pascal compiler
        /usr/pascal/pascaldriver      Compiler error messages
        /usr/pascal/libp.a            Pascal runtime library
        /lib/liba.a                   Common language library
        /tmp/ptm*                     Temporary files


        SEE ALSO

        as(1), cc(1), dbx(1), f77(1), ld(1)

















        DG/UX 4.00                                                 Page 6
               Licensed material--property of copyright holder(s)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026