.\" Please adjust this date whenever revising the manpage.
-.Dd December 9, 2008
+.Dd December 21, 2008
.Dt CPARSER 1
.Sh NAME
.Nm cparser
.Op Fl D Ns Ar macro Ns Op Ar =defn
.Op Fl U Ns Ar macro
.Op Fl f Ar option
+.Op Fl finput-charset= Ns Ar encoding
.Op Fl b Ar option
.Op Fl l Ar library
.Op Fl o Ar outfile
.It Fl Wcast-qual
Warn whenever a pointer cast removes qualifiers from the pointed-to type, e.g. casting a const char* to char*.
.It Fl Wchar-subscripts
-Warn about using an expression of type char as array subscript, e.g. char c; arr[c].
+Warn about using an expression of type char as array subscript, e.g. char\ c; arr[c].
.It Fl Wdeclaration-after-statement
Warn about mixing declarations and statements, which is not allowed prior to C99.
.It Fl Wdiv-by-zero
Warn about compile-time integer division by zero.
.It Fl Wempty-statement
-Warn about empty statements, i.e. statements which only consist of a single ';'.
+Warn about empty statements, i.e. statements which only consist of a single
+.Sq \&; .
Use {} as replacement to avoid this warning.
.It Fl Werror
Treat warnings as errors, i.e. do not continue after parsing when a warning is encountered.
.It Fl Winit-self
Warn about uninitialized variables which are initialized with themselves.
.It Fl Wlong-long
-Warn if the type 'long long' is used.
+Warn if the type
+.Sq long long
+is used.
.It Fl 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**).
+Warn if the type of
+.Sq 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**).
.It Fl 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.
.It Fl Wmissing-noreturn
-Warn about functions, which are candidates for the attribute 'noreturn'.
+Warn about functions, which are candidates for the attribute
+.Sq noreturn .
.It Fl Wmissing-prototypes
Warn if a global function is defined without a previous prototype declaration.
.It Fl Wmultichar
-Warn if a multicharacter constant ('FOOF') is used.
+Warn if a multicharacter constant
+.Pf ( Sq FOOF )
+is used.
.It Fl Wnested-externs
-Warn if an 'extern' declaration is encountered within a function.
+Warn if an
+.Sq extern
+declaration is encountered within a function.
.It Fl 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 it there may be confusion which
+.Sq if Ns
+-statement an
+.Sq else Ns
+-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 operand of << or >>, e.g. x\ +\ y\ <<\ z.
.It Fl 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.
+.It Fl Wshadow
+Warn when a new declaration shadows another declaration with the same name in an outer scope.
.It Fl Wunreachable-code
Warn when the compiler determines that a statement (or in some cases a part thereof) will never be executed.
.It Fl Wunused
Use
.Fl fhelp
to get a list of supported optimizer options.
+.It Fl finput-charset= Ns Ar encoding
+Select the encoding of the input.
+Supported values are
+.Cm ISO_8859-1:1987
+(aliases
+.Cm CP819 ,
+.Cm IBM819 ,
+.Cm ISO-8859-1 ,
+.Cm ISO8859-1 ,
+.Cm ISO_8859-1 ,
+.Cm csISOLatin1 ,
+.Cm iso-ir-100 ,
+.Cm l1
+and
+.Cm latin1 Ns
+),
+.Cm ISO-8859-15
+(aliases
+.Cm ISO8859-15 ,
+.Cm ISO_8859-15
+and
+.Cm Latin-9 Ns
+),
+.Cm windows-1252
+(alias
+.Cm cp1252 Ns
+) and
+.Cm UTF-8
+(default).
+Case is ignored.
+.It Fl fsigned-char
+Define
+.Sq char
+to have the same range, representation and behaviour as
+.Sq signed char .
+.It Fl funsigned-char
+Define
+.Sq char
+to have the same range, representation and behaviour as
+.Sq unsigned char .
.It Fl b Ar option
Set a backend option.
Use