Provided by: pcc_1.2.0~DEVEL+20220331-1_amd64 bug

NAME

       cc — front-end to the C compiler

SYNOPSIS

       cc  [-cEgkMPSstvX]  [-ansi] [-Bprefix] [-D macro[=value]] [-dflags] [-ffeature] [-I path] [-include file]
          [-isystem  path]  [-Lpath]  [-moption]  [-nodefaultlibs]   [-nostartfiles]   [-nostdinc]   [-nostdlib]
          [-O[level]] [-o outfile] [-pg] [-pthread] [-shared] [-static] [-std=standard] [-U macro] [-Wa,options]
          [-Wc,options] [-Wl,options] [-Wp,options] [-x language] [-z keyword] [file ...]

DESCRIPTION

       The  cc  utility  provides  a front-end to the “portable C compiler”.  Multiple files may be given on the
       command line.  Unrecognized options are sent directly to ld(1).

       Filenames that end with .c are passed via cpp(1) → ccom(1) → as(1) → ld(1).

       Filenames that end with .i are passed via ccom(1) → as(1) → ld(1).

       Filenames that end with .s are passed via as(1) → ld(1).

       Filenames that end with .S are passed via cpp(1) → as(1) → ld(1).

       Filenames that end with .o are passed directly to ld(1).

       The options are as follows:

       -ansi   Synonym for -std=c89.

       -Bprefix
               Define alternate prefix path for cpp(1), ccom(1), as(1), or ld(1) executables.

       -C      Passed to the cpp(1) preprocessor to not discard comments.

       -c      Stop after generating object code with as(1).  Do not link.  The resulting object output is saved
               as a filename with a “.o” suffix unless -o option is used.  Note: cannot be combined with  -o  if
               multiple files are given.

       -D macro[=value]
               Passed to the cpp(1) preprocessor to define macro with an optional value.

       -dflags
               Debug options.  flags is a string of characters, which signify the following actions.

               M  Cause the preprocessor to output a list of macro definitions.

               any unknown flags are ignored.

       -E      Stop  after  preprocessing  with  cpp(1).   Do not compile, assemble, or link.  Output is sent to
               standard output unless the -o option is used.

       -ffreestanding
               Assume a freestanding environment.

       -fPIC   Generate PIC code.

       -fpic   Tells C compiler to generate PIC code and tells assembler that PIC code has been generated.

       -funsigned-char
               Tell the compiler to treat ‘char’ types as  if  they  were  unsigned  unless  explicitly  defined
               otherwise.   -fsigned-char  can  be  used to signify the opposite behaviour.  The default for the
               ‘char’ type depends on the compiler target architecture.

       -fstack-protector
               Tell the compiler to wrap functions with code which checks at runtime that a stack  overflow  has
               not occurred.  When stack protection is in effect, the __SSP__ macro will be defined.

       -g      Send  -g  flag  to ccom(1) to create debug output.  Debug information output can be disabled with
               -g0.

       -I path
               Passed to the cpp(1) preprocessor to add header search directory to override system defaults.

       -include file
               Tells the cpp(1) preprocessor to include the file during preprocessing.

       -isystem path
               Defines path as a system header directory for the cpp(1) preprocessor.

       -k      Generate PIC code.  See -fpic option.

       -Lpath  Passed to the linker, to add path to the list of directories searched for shared libraries.

       -M      Pass -M flag to cpp(1) to generate dependencies for make(1).

       -moption
               Target-dependent options.  Multiple -m options can be given, the following are supported:

               ARM      -mlittle-endian -mbig-endian -mfpe=fpa -mfpe=vpf -msoft-float -march=armv1  -march=armv2
                        -march=armv2a   -march=armv3  -march=armv4  -march=armv4t  -march=armv4tej  -march=armv5
                        -march=armv6 -march=armv6t2 -march=armv6kz -march=armv6k -march=armv7

               HPPA

               i386

               MIPS     -mlittle-endian -mbig-endian -mhard-float -msoft-float

               PDP-10

               PowerPC

               Sparc64

               VAX

       -nodefaultlibs
               Do not link with the system default libraries (libc, etc.)

       -nostartfiles
               Do not link with the system startup files (crt0.c, etc.)

       -nostdinc
               Do not use the system include paths (/usr/include, etc.)

       -nostdlib
               Do not link with the system default libraries or startup files.

       -O[level]
               Enable compiler optimizations.  Currently, for levels higher than zero, this defines __OPTIMIZE__
               in the cpp(1) preprocessor, and passes -xdce, -xdeljumps, -xtemps and -xinline to ccom(1).  If no
               level is given the optimization level is -O1.  Optimizations  can  be  disabled  using  -O0.   In
               situations where multiple optimization flags are given, the last flag is the one used.

       -o outfile
               Save result to outfile.

       -P      Inhibit generation of line markers in preprocessor output.  This is sometimes useful when running
               the preprocessor on something other than C code.

       -pg     Enable profiling on the generated executable.

       -pthread
               Defines  the _PTHREADS preprocessor identifier for cpp(1), and adds -lpthread to the ld(1) linker
               arguments.

       -S      Stop after compilation by ccom(1).  Do not assemble and do not link.   The  resulting  assembler-
               language  output  is  saved as a filename with a “.s” suffix unless the -o option is used.  Note:
               cannot be combined with -o if multiple files are given.

       -s      Passed to ld(1) to remove  all  symbol  table  and  relocation  information  from  the  generated
               executable.  This option is silently ignored if cc does not invoke the linker.

       -shared
               Create a shared object of the result.  Tells the linker not to generate an executable.

       -static
               Do  not  use  dynamic  linkage.  By default, it will link using the dynamic linker options and/or
               shared objects for the platform.

       -std=standard
               Compile to the specified standard.  Accepted values for standard  are  c89,  c99,  gnu89,  gnu99,
               gnu9x, and c11.

       -t      Passed  to  cpp(1)  to  suppress  some  default macro definitions and enable use of traditional C
               preprocessor syntax.

       -U macro
               Passes to the cpp(1) preprocessor to remove the initial macro definition.

       -v      Outputs the version of cc and shows commands as they are run with their command line arguments.

       -###    As per -v except that the commands are not run, and the arguments will be quoted if they  contain
               unusual characters or spaces.

       -Wa,options
               Comma separated list of options for the assembler.

       -Wc,options
               Comma separated list of options for the compiler.

       -Wl,options
               Comma separated list of options for the linker.

       -Wp,options
               Comma separated list of options for the preprocessor.

       -X      Don't remove temporary files on exit.

       -x language
               GCC  compatibility  option;  specify  the  language  in use rather than interpreting the filename
               extension.  Currently known language values are none, c, c++, assembler  and  assembler-with-cpp.
               Any unknown -x options are passed to ccom(1).

       -z keyword
               Passed  to  ld(1).   Please  refer  to  the documentation of your linker for acceptable values of
               keyword.

   Predefined Macros
       A few macros are predefined by cc when sent to cpp(1).

       __PCC__  Set to the major version of pcc(1).  These macros can be used to select  code  based  on  pcc(1)
       compatibility.  See the -v option.

       __PCC_MINOR__  Set to the minor version.

       __PCC_MINORMINOR__  Set to the minor-minor version — the number after the minor version.

       _PTHREADS  Defined when -pthread switch is used.

       __ASSEMBLER__    Defined  when  input  files  have  a .S suffix, or if the -xassembler-with-cpp option is
       specified.

       Also system- and/or machine-dependent macros may also be predefined; for  example:  __NetBSD__,  __ELF__,
       and __i386__.

SEE ALSO

       as(1), ccom(1), cpp(1), ld(1)

HISTORY

       The cc command comes from the original Portable C Compiler by S. C. Johnson, written in the late 70's.

       This product includes software developed or owned by Caldera International, Inc.

Debian                                            June 20, 2014                                            CC(1)