tradcpp man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

TRADCPP(1)		  BSD General Commands Manual		    TRADCPP(1)

NAME
     tradcpp — traditional (K&R-style) C macro preprocessor

SYNOPSIS
     tradcpp [-options] [input-file [output-file]]

DESCRIPTION
     The tradcpp command provides a traditional K&R-style C macro preproces‐
     sor.  It is intended to be suitable for historical Unix uses of the pre‐
     processor, such as imake(1), particularly those that depend on preserva‐
     tion of whitespace.

     The chief ways in which traditional cpp differs from Standard C are:

	   ·   Macro arguments are expanded within quoted strings.  There is
	       no stringize operator.

	   ·   There is no token pasting operator; tokens can be concatenated
	       by placing comments between them.  This process is also not
	       limited to valid C language tokens.

	   ·   Whitespace is preserved, and in particular tabs are not
	       expanded into spaces.  Furthermore, additional whitespace is
	       not injected.

OPTIONS
     tradcpp has many options, many of which are defined for compatibility
     with gcc(1) or other compilers.  Many of the options are not yet imple‐
     mented.

   Common Options
     -C		   Retain comments in output.

     -Dmacro[=expansion]
		   Provide a definition for the named macro.  If no expansion
		   is provided, the value “1” is used.	Note that like many
		   Unix compilers, tradcpp does not accept a space between the
		   “D” and the macro name.

     -Ipath	   Add the specified path to the main list of include directo‐
		   ries.  Note that like many Unix compilers, tradcpp does not
		   accept a space between the “I” and the directory name.

     -nostdinc	   Do not search the standard system include directories.

     -P		   Suppress line number information in the output.  Currently
		   line number information is not generated at all and this
		   option has no effect.

     -Umacro	   Remove any existing definition for the named macro.	Note
		   that like many Unix compilers, tradcpp does not accept a
		   space between the “U” and the macro name.

     -undef	   Remove all predefined macros.

   Warning Options
     Warning options can be disabled or enabled by inserting, or not, the
     string “no-” between the “W” and the warning name.	 Herein the “-Wno-”
     form is shown for options that are enabled by default.

     -Wall	   Turn on all warnings.  The option -Wno-all disables only
		   the warnings that are disabled by default.

     -w		   Turn off all warnings.

     -Werror	   Make warnings into fatal errors.

     -Wcomment	   Warn about nested comments.

     -Wno-endif-labels
		   Don't warn about symbols attached to #endif directives.
		   (The warning is currently not implemented.)

     -Wundef	   Warn about undefined symbols appearing in #if and #elif
		   expressions.

     -Wunused-macros
		   Warn about macros that are defined and never used.  Not
		   implemented.

   Depend Options
     -M		   Generate dependency information for make(1) on the standard
		   output, instead of preprocessing.  Not implemented.

     -MD	   Like -M but skip system headers.  Not implemented.

     -MM	   Like -M but write the dependency information to a file
		   named after the input file with extension .d and preprocess
		   normally to standard output.	 Not implemented.

     -MMD	   Like -MM but skip system headers.  Not implemented.

     -MF file	   Send dependency output to the named file instead of the
		   default location.  Not implemented.

     -MG	   When generating dependency information, assume that missing
		   files are generated instead of failing.  Not implemented.

     -MP	   Issue dummy rules for all include files.  This prevents
		   make(1) from choking if an include file is removed.	Not
		   implemented.

     -MQ target	   Same as -MT except that any make(1) metacharacters appear‐
		   ing in the target are escaped.

     -MT target	   Set the name of the make(1) target appearing in the gener‐
		   ated dependency information.	 The default is the name of
		   the input file with its suffix replaced with the suffix for
		   object files, normally .o.

   More Include Path Options
     -idirafter path
		   Add the specified path to the “afterwards” include path.
		   This path is searched after all directories specified with
		   -I and the standard system directories.  Directories on
		   this path are treated as containing system include files.

     -imacros file
		   Read in file prior to reading the main input file, and pre‐
		   process it, but throw away the output and retain only the
		   macro definitions.

     -include file
		   Read in and preprocess file prior to reading the main input
		   file.

     -iprefix prefix
		   Set the path prefix used with the -iwithprefix option.

     -iquote path  Add path to the list of directories searched for include
		   directives written with quotes.  This list is not searched
		   for include directives written with angle brackets.

     -iremap string:replacement
		   Substitute replacement for string in the __FILE__ built-in
		   macro.  Not supported.

     -isysroot path
		   Use path as the “system root”, that is, the directory under
		   which the standard system paths are found.

     -isystem path
		   Add path to the list of system include directories.	This
		   list is searched after the list given with I.  Files found
		   on this path are treated as system headers.

     -iwithprefix dir
		   Splice dir onto the prefix given with -iprefix and add this
		   directory as if it were specified with -idirafter.

     -iwithprefixbefore
		   Like -Fl iwithprefix but adds the result as if it were
		   specified with -I.

   Diagnostic Options
     -dD	   Dump all macro definitions, except for the predefined
		   macros, after the normal preprocessing output.  Not imple‐
		   mented.

     -dI	   Dump all include directives along with the normal prepro‐
		   cessing output.  Not implemented.

     -dM	   Dump all macro definitions instead of the normal prepro‐
		   cessing output.  Not implemented.

     -dN	   Like -dD but emits only macro names and not the expansions.
		   Not implemented.

     -H		   Output a trace of the include tree as it gets processed.
		   Not implemented.

   Other Options
     -CC	   Retain comments in output.  Same as -C, accepted for com‐
		   patibility with gcc(1).

     -fdollars-in-identifiers, -fno-dollars-in-identifiers
		   Enable (or disable, respectively) the use of the dollar
		   sign in identifiers.	 Not implemented.

     -ftabstop=num
		   Set the tab width to the specified value, for reporting
		   column positions in diagnostics.  The default is 8.	Not
		   implemented.

     -std=standard
		   Ask tradcpp to conform to the named standard.  The default,
		   and the only supported value, is “krc”.

     -traditional  This option is accepted for compatibility with gcc(1) and
		   ignored.

     -x lang	   Adjust the preprocessor for the given language.  The only
		   values accepted for lang are “assembler-with-cpp” and “c”,
		   neither of which have any effect on the behavior of
		   tradcpp.

FILES
     The default list of directories searched for include files is:
	   /usr/local/include
	   /usr/include

SEE ALSO
     cc(1), cpp(1), make(1)

STANDARDS
     None.  The whole point of a traditional cpp is that it reflects practices
     in pre-standardization implementations of C.  Some information is avail‐
     able from the first edition of Kernighan and Ritchie.  Much of the rest
     of the behavior is based on lore, pragmatism, material encountered in the
     wild, and comparison to other implementations.

HISTORY
     The original version of tradcpp was written one evening in late 2010.
     This version had some problems and was put aside.	The first working ver‐
     sion was released in June 2013.

BUGS
     Probably plenty.

BSD				 June 11, 2013				   BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net