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

NAME

       cpp — C preprocessor

SYNOPSIS

       cpp  [-ACEMPtVv]  [-D  macro[=value]]  [-d  flags]  [-I path] [-i file] [-S path] [-U macro] [infile | -]
           [outfile]

DESCRIPTION

       The cpp utility is a macro preprocessor used by the pcc(1) compiler.  It is mainly used to include header
       files, expand macro definitions, discard comments, and perform conditional compilation.  cpp  is  written
       to comply with the ISO/IEC 9899:1999 (“ISO C99”) specification.

       The infile input file is optional.  If not provided or the file name is "-" (dash), cpp reads its initial
       file  from  standard  input.   The  outfile output file is also optional, with output written to standard
       output if not provided.

       The options are as follows:

       -A      For assembler-with-cpp input: treat non-directive lines starting with a # as comments.

       -C      Do not discard comments.

       -D macro[=value]
               Create a macro definition before processing any input, as if a

                     #define macro value

               directive had appeared in the source.  If value is not set on the command-line, then a value of 1
               is used.

       -d flags
               Modify output according to flags, which can be a list of character flags.   The  following  flags
               are currently supported:

               M  Do  not  process  any  input, but output a list of “#define” statements for all defined macros
                  other than builtin macros (see below).

               any unknown flags are ignored.

       -E      Modify the exit code, if there were any warnings.

       -I path
               Add path to the list of directories searched by the “#include” directive.  This may  be  used  to
               override  system  include directories (see -S option).  -I may be specified multiple times and is
               cumulative.

       -i file
               Include a file before processing any input, as if a

                     #include "file"

               directive had appeared in the source.  -i may be specified  multiple  times  to  include  several
               files.

       -M      Instead  of  producing  a  processed  C  code  file,  output  a list of dependencies for make(1),
               detailing the files that need to be processed when compiling the input.

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

       -S path
               Add  path  to the list of system directories searched by the “#include” directive.  The -S option
               may be specified multiple times and is cumulative.

       -t      Traditional cpp syntax.  Do not define the __TIME__,  __DATE__,  __STDC__,  and  __STDC_VERSION__
               macros.

       -U macro
               Undefine a macro before processing any input, as if a

                     #undef macro

               directive had appeared in the source.

       -V      Verbose debugging output.  -V can be repeated for greater detail.  (This is only available if the
               cpp program was built with PCC_DEBUG defined, which is the default).

       -v      Display version.

       The  -D,  -i  and  -U options are processed in the order that they appear on the command line, before any
       input is read but after the command line options have been scanned.

       Files referenced by the “#include” directive as "...", are first looked for  in  the  current  directory,
       then  as  per  ⟨...⟩  files,  which  are  first  looked for in the list of directories provided by any -I
       options, then in the list of system directories provided by any -S  options.   Note  that  cpp  does  not
       define  any  include  directories  by  default;  if  no -I or -S options are given, then only the current
       directory will be searched and no system files will be found.

   Builtin Macros
       A few macros are interpreted inside the cpp program:

       __DATE__  Expands to a quoted string literal containing the date in the form "Mmm  dd  yyyy",  where  the
       names  of  the months are the same as those generated by the asctime(3) function, and the first character
       of dd is a space character if the value is less than 10.

       __FILE__  Expands to a quoted string literal containing the presumed name of  the  current  source  file.
       When reading source from standard input, it expands to "⟨stdin⟩".

       __LINE__    Expands  to  an  integer  constant  representing  the presumed line number of the source line
       containing the macro.

       __STDC__  Expands to the integer constant “1”, meaning that the compiler conforms  to  ISO/IEC  9899:1990
       (“ISO C90”).

       __STDC_VERSION__    Expands  to  the  integer constant “199901L”, indicating that cpp conforms to ISO/IEC
       9899:1999 (“ISO C99”).

       __TIME__  Expands to a quoted string literal containing the time in the form "hh:mm:ss" as  generated  by
       the asctime(3) function.

       Also see the -t option.

EXIT STATUS

       The cpp utility exits with one of the following values:

             0       Successfully finished.
             1       An error occurred.
             2       The -E option was given, and warnings were issued.

SEE ALSO

       as(1), ccom(1), make(1), pcc(1), asctime(3)

HISTORY

       The  cpp  command comes from the original Portable C Compiler by S. C. Johnson, written in the late 70's.
       The code originates from the V6 preprocessor with some additions from V7 cpp and ansi/c99 support.

       A lot of the PCC code was rewritten by Anders Magnusson.

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

Debian                                          February 26, 2013                                         CPP(1)