FreeBSD Manual Pages
UCPP(1) General Commands Manual UCPP(1) NAME ucpp - C preprocessor SYNOPSIS ucpp [ options ] [ file ] DESCRIPTION ucpp is a C preprocessor mostly compatible with ISO-C99. It is rather strict and uses only a small amount of memory. It uses standard input as primary input if no file argument is given. OPTIONS There are several classes of options. Language Options -C keep comments in the output. -s if a rogue '#' is encountered, do not emit an error and keep it in the output. -l supress the emission of '#line' directives in the output. -lg convert the '#line' to the gcc-style equivalent. -CC disable C++-like comments (a '//' begins a comment, up to the end of the line). Use this option to get closer to C90 behav- iour. -a, -na handle assertions (defined with #assert); -a also defines the standard assertions #machine , #cpu and #system (see -e to get the local definition of such assertions). -a0 disable assertion support. -V disable support for macros with a variable number of arguments: in C99, a macro may be declared with ... as the last argument; inside the replacement list, __VA_ARGS__ is replaced with the optional extra arguments given in the call to the macro. Use this option to get closer to C90 behaviour. -u enable UTF-8 support: with this option, the source is considered as an ISO/10646 source, encoded in UTF-8. Characters represented as two bytes or more are considered as alphabetic characters, like letters, and therefore usable in identifiers. These charac- ters hold the same syntactic value than the corresponding Uni- versal Character Names. -X enable -a, -u and -Y. This should make ucpp behave closer to what is requested from a "modern" C preprocessor. -c90 enable -V and -CC, and do not define __STDC_VERSION__. This should make ucpp mimic older C90 behaviour. -t disable trigraph support; this seems to be required for some legacy code. Warning Options -wt emit a final warning when trigraphs are encountered. -wtt emit warnings for each trigraph encountered. -wa emit annoying warnings (these are usually useless). -w0 supress standard warnings. Directory Options -Idirectory -I directory add directory to the include path, before the standard include path. -Jdirectory -J directory add directory to the include path, after the standard include path. -zI do not use the standard (compile-time) include path. -M emit only the names of encountered files, separated by spaces; this is intended for automatic generation of Makefile dependen- cies. -Ma do the same as -M but also for system files. -o file direct the ouput to file instead of standard output. Macro Options -Dmacro predefine macro with content 1. -Dmacro=def predefine macro with the content def. -Umacro undefine macro. -Y predefine system-dependant macros. -Z do not predefine special macros such as __TIME__. -Afoo(bar) add foo(bar) to the list of assertions. -Bfoo(bar) remove foo(bar) of the list of assertions; you may also use -Bfoo to remove all -Bfoo(xxx) from the list of assertions. -d instead of normal output, emit '#define' directives representing all macros defined during processing. -e instead of normal output, emit '#assert' directives representing all assertions defined during processing. Miscellaneous Options -v print version number, include path and (optionaly) defined as- sertions. -h print some help. ENVIRONMENT ucpp is not itself affected by environment variables. However, it uses library functions that might be affected, depending on the system. AUTHOR Thomas Pornin <pornin@bolet.org> BUGS ucpp is considered stable software. However improbable it is, please report bugs to the author (possibly with a file that exhibits the prob- lem) if the latest version, available from this site: http://pornin.nerim.net/ucpp/ has the bug. Oct 21 2000 UCPP(1)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ENVIRONMENT | AUTHOR | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ucpp&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>
