FreeBSD Manual Pages
CPARSER(1) FreeBSD General Commands Manual CPARSER(1) NAME cparser -- C compiler SYNOPSIS cparser [-c | -S | -E | --print-ast] [--print-implicit-cast] [--print-parenthesis] [-ansi] [-std=standard] [--[no-]gcc] [--[no-]ms] [-g] [-Olevel] [-W[no-][error=]warning] [-w] [-I dir] [-L dir] [-Dmacro[=defn]] [-Umacro] [-f option] [-finput-charset=encoding] [-b option] [-l library] [-o outfile] [-x language] [-Wl,option] [-Wp,option] file ... DESCRIPTION cparser is a C compiler, which can parse C90 and C99 as well as many GCC and some MSC extensions. It also provides many useful analyses for warn- ings and generates concise messages in case of error. It uses libFIRM for optimization and code generation. The compiler driver is largely compatible with GCC. OPTIONS -c Compile the input files to object files. The default output filename is the input filename with the extension replaced by .o. -S Compile the input files to assembler. The default output file- name is the input filename with the extension replaced by .s. -E Preprocess the input file only. By default the result is output to stdout. --print-ast Output the abstract syntax tree of the parsed input file as C again. --print-implicit-cast When using --print-ast, show casts, which are inserted by the se- mantic checks. --print-parenthesis When using --print-ast, show all expressions fully parenthesized. -ansi Same as -std=c90 (for C) or -std=c++98 (for C++). -std=standard Select the language standard. Supported values are: c89 c90 iso9899:1990 ISO C90 gnu89 ISO C90 with GCC extensions c99 iso9899:1999 ISO C99 gnu99 ISO C99 with GCC extensions c11 iso9899:2011 ISO C11 gnu11 ISO C11 with GCC extensions c++98 ISO C++ 1998. Not supported yet. gnu++98 ISO C++ 1998 with GCC extensions. Not supported yet. --[no-]gcc Disable/enable GCC extensions. This switch supersedes -std. --[no-]ms Disable/enable MSC extensions. -g When compiling C files, add debug information in stabs format. -Olevel Select the optimization level. Sensible values are between 0 and 4, inclusive. -Wwarning Enable the specified warning. -Wno-warning Disable the specified warning. -Werror=warning Enable the specified warning and turn it into an error. -Wno-error=warning Force the specified warning to only be a warning, even in the presence of -Werror. This neither enables nor disables the warn- ing itself. -Waddress Warn about suspicious use of addresses, like using the address of a function or variable as boolean condition or comparing with the address of a string literal. -Waggregate-return Warn about defining or calling a function, which returns a struct or union by value. -Wall Activate most warnings. In particular these are -Waddress, -Wattribute, -Wchar-subscripts, -Wcomment, -Wempty-statement, -Wformat, -Wimplicit-function-declaration, -Wimplicit-int, -Winit-self, -Wmain, -Wnonnull, -Wparentheses, -Wpointer-arith, -Wredundant-decls, -Wreturn-type, -Wshadow-local, -Wsign-compare, -Wstrict-prototypes, -Wswitch-enum, -Wunknown-pragmas, -Wunreachable-code, -Wunused-function, -Wunused-label, -Wunused-parameter, -Wunused-value, -Wunused-variable. -Wcast-qual Warn whenever a pointer cast removes qualifiers from the pointed- to type, e.g. casting a const char* to char*. -Wchar-subscripts Warn about using an expression of type char as array subscript, e.g. char c; arr[c]. -Wdeclaration-after-statement Warn about mixing declarations and statements, which is not al- lowed prior to C99. -Wdiv-by-zero Warn about compile-time integer division by zero. -Wempty-statement Warn about empty statements, i.e. statements which only consist of a single `;'. Use {} as replacement to avoid this warning. -Werror Treat warnings as errors, i.e. do not continue after parsing when a warning is encountered. -Wextra (Alias -W) Activate some more warnings. In particular these are -Wempty-statement, -Wshadow, -Wunused-parameter, -Wunused-value. -Wfatal-errors Immediately abort compilation when encountering an error. -Wformat Check format strings of char and wchar_t functions. -Wimplicit Activate -Wimplicit-function-declaration, -Wimplicit-int. -Wimplicit-function-declaration Warn about calling a function without a prior declaration. -Wimplicit-int Warn about declarations whose declaration specifiers do not in- clude a type specifier. -Winit-self Warn about uninitialized variables which are initialized with themselves. -Wlong-long Warn if the type `long long' is used. -Wmain Warn if the type of `main' is suspicious, i.e. if it is not a non-static function declared as either int main(void), int main(int, char**) or, as an extension, int main(int, char**, char**). -Wmissing-declarations Warn if a non-static function or a global variable without a storage class is defined without a prior declaration. This is typically a sign of a missing #include or that the object should be static. -Wmissing-noreturn Warn about functions, which are candidates for the attribute `noreturn'. -Wmissing-prototypes Warn if a global function is defined without a previous prototype declaration. -Wmultichar Warn if a multicharacter constant (`FOOF') is used. -Wnested-externs Warn if an `extern' declaration is encountered within a function. -Wparentheses Warn if parentheses are omitted in certain contexts. Warn if an assignment is used as condition, e.g. if (x = 23). Warn if && without parentheses is used within ||, e.g. if (x || y && z). Warn if it there may be confusion which `if'-statement an `else'-branch belongs to, e.g. if (x) if (y) {} else {}. Warn if cascaded comparisons appear which do not have their mathematical meaning, e.g. if (23 <= x < 42). Warn if + or - is used as oper- and of << or >>, e.g. x + y << z. -Wredundant-decls Warn about redundant declarations, i.e. multiple declarations of the same object or static forward declarations which have no use before their definition. -Wshadow Warn when a new declaration shadows another declaration with the same name in an outer scope. -Wshadow-local Like -Wshadow, but only warn if the shadowed declaration is not global, e.g. a local variable shadows a parameter or another lo- cal variable. -Wunreachable-code Warn when the compiler determines that a statement (or in some cases a part thereof) will never be executed. -Wunused Activate -Wunused-function, -Wunused-label, -Wunused-parameter, -Wunused-value, -Wunused-variable. -Wunused-parameter Warn when a parameter is never used or only ever read to calcu- late its own new value, e.g. x = x + 1. -Wunused-variable Warn when a variable is never used or only ever read to calculate its own new value, e.g. x = x + 1. -w Suppress all warnings. -I dir Add the directory dir to the paths to be searched for include files. -L dir Add the directory dir to the paths to be searched for libraries. -Dmacro Define the preprocessor macro macro which will expand to 1. -Dmacro=defn Define the preprocessor macro macro and set its expanded value to defn. -Umacro Undefine the preprocessor macro macro. -f option Set a frontend or optimizer option. Use -fhelp to get a list of supported optimizer options. -f[no-]diagnostics-show-option Show the switch, which controls a warning, after each warning. Default is on. -finput-charset=encoding Select the encoding of the input. Supported values are ISO_8859-1:1987 (aliases CP819, IBM819, ISO-8859-1, ISO8859-1, ISO_8859-1, csISOLatin1, iso-ir-100, l1 and latin1), ISO-8859-15 (aliases ISO8859-15, ISO_8859-15 and Latin-9), windows-1252 (alias cp1252) and UTF-8 (default). Case is ignored. -f[no-]show-column Show the column number in diagnostic messages. -fsigned-char Define `char' to have the same range, representation and behav- iour as `signed char'. -funsigned-char Define `char' to have the same range, representation and behav- iour as `unsigned char'. -b option Set a backend option. Use -bhelp to get a list of supported op- tions. -l library Link with the specified library. -o outfile Specify the output filename. This is only valid when using a single input filename. - as filename uses stdout for output. -x language Overwrite the language auto-detection for the following filenames by the specified language. Supported values are: assembler Assembler file assembler-with-cpp Assembler file, which needs to be prepro- cessed c c-header C file c++ c++-header C++ file none Revert to auto-detection -Wl,option Pass option to the linker. -Wp,option Pass option to the preprocessor. SEE ALSO gcc(1), http://www.libfirm.org/ BUGS Probably many - if you hit one, please report it. cparser needs to support more switches for better GCC compatibility. This manual page is incomplete. AUTHORS cparser was written by Matthias Braun <matze@braunis.de>, Christoph Mallon <christoph.mallon@gmx.de> and Michael Beck. July 9, 2012
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | SEE ALSO | BUGS | AUTHORS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=cparser&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>