Add the field encoding to struct string_literal_t and merge T_WIDE_STRING_LITERAL...
[cparser] / cparser.1
index 4a2040d..87dedd2 100644 (file)
--- a/cparser.1
+++ b/cparser.1
@@ -1,5 +1,5 @@
 .\" Please adjust this date whenever revising the manpage.
 .\" Please adjust this date whenever revising the manpage.
-.Dd December 16, 2008
+.Dd June 21, 2011
 .Dt CPARSER 1
 .Sh NAME
 .Nm cparser
 .Dt CPARSER 1
 .Sh NAME
 .Nm cparser
@@ -14,7 +14,7 @@
 .Op Fl - Ns Oo Cm no- Oc Ns Cm ms
 .Op Fl g
 .Op Fl O Ns Ar level
 .Op Fl - Ns Oo Cm no- Oc Ns Cm ms
 .Op Fl g
 .Op Fl O Ns Ar level
-.Op Fl W Ns Oo Cm no- Oc Ns Ar warn
+.Op Fl W Ns Oo Cm no- Oc Ns Oo Cm error= Oc Ns Ar warning
 .Op Fl w
 .Op Fl I Ar dir
 .Op Fl L Ar dir
 .Op Fl w
 .Op Fl I Ar dir
 .Op Fl L Ar dir
@@ -91,12 +91,17 @@ format.
 .\" TODO expand
 Select the optimization level.
 Sensible values are between 0 and 4, inclusive.
 .\" TODO expand
 Select the optimization level.
 Sensible values are between 0 and 4, inclusive.
-.It Fl W Ns Oo Cm no- Oc Ns Ar warn
 .\" TODO expand
 .\" TODO expand
-Disable/enable a specific warning.
-Every warning option has a corresponding
-.Cm no-
-switch to deactivate it.
+.It Fl W Ns Ar warning
+Enable the specified warning.
+.It Fl Wno- Ns Ar warning
+Disable the specified warning.
+.It Fl Werror= Ns Ar warning
+Enable the specified warning and turn it into an error.
+.It Fl Wno-error= Ns Ar warning
+Force the specified warning to only be a warning, even in the presence of
+.Fl Werror .
+This neither enables nor disables the warning itself.
 .It Fl 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.
 .It Fl Waggregate-return
 .It Fl 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.
 .It Fl Waggregate-return
@@ -119,7 +124,7 @@ In particular these are
 .Fl Wpointer-arith ,
 .Fl Wredundant-decls ,
 .Fl Wreturn-type ,
 .Fl Wpointer-arith ,
 .Fl Wredundant-decls ,
 .Fl Wreturn-type ,
-.Fl Wshadow ,
+.Fl Wshadow-local ,
 .Fl Wsign-compare ,
 .Fl Wstrict-prototypes ,
 .Fl Wswitch-enum ,
 .Fl Wsign-compare ,
 .Fl Wstrict-prototypes ,
 .Fl Wswitch-enum ,
@@ -139,16 +144,18 @@ 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
 .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.
 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 Werror-implicit-function-declaration
-Generate an error, when calling a function without a prior declaration.
 .It Fl Wextra
 .It Fl Wextra
+(Alias
+.Fl W Ns )
 Activate some more warnings.
 In particular these are
 .Fl Wempty-statement ,
 Activate some more warnings.
 In particular these are
 .Fl Wempty-statement ,
+.Fl Wshadow ,
 .Fl Wunused-parameter ,
 .Fl Wunused-value .
 .It Fl Wfatal-errors
 .Fl Wunused-parameter ,
 .Fl Wunused-value .
 .It Fl Wfatal-errors
@@ -166,29 +173,48 @@ Warn about declarations whose declaration specifiers do not include a type speci
 .It Fl Winit-self
 Warn about uninitialized variables which are initialized with themselves.
 .It Fl Wlong-long
 .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
 .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
 .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
 .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
 .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).
 .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.
 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 Wshadow-local
+Like
+.Fl Wshadow ,
+but only warn if the shadowed declaration is not global, e.g. a local variable shadows a parameter or another local variable.
 .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
 .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
@@ -229,9 +255,12 @@ Set a frontend or optimizer option.
 Use
 .Fl fhelp
 to get a list of supported optimizer options.
 Use
 .Fl fhelp
 to get a list of supported optimizer options.
+.It Fl f Ns Oo Cm no- Oc Ns Cm diagnostics-show-option
+Show the switch, which controls a warning, after each warning.
+Default is on.
 .It Fl finput-charset= Ns Ar encoding
 Select the encoding of the input.
 .It Fl finput-charset= Ns Ar encoding
 Select the encoding of the input.
-Supported value are
+Supported values are
 .Cm ISO_8859-1:1987
 (aliases
 .Cm CP819 ,
 .Cm ISO_8859-1:1987
 (aliases
 .Cm CP819 ,
@@ -251,10 +280,16 @@ and
 .Cm ISO_8859-15
 and
 .Cm Latin-9 Ns
 .Cm ISO_8859-15
 and
 .Cm Latin-9 Ns
+),
+.Cm windows-1252
+(alias
+.Cm cp1252 Ns
 ) and
 .Cm UTF-8
 (default).
 Case is ignored.
 ) and
 .Cm UTF-8
 (default).
 Case is ignored.
+.It Fl f Ns Oo Cm no- Oc Ns Cm show-column
+Show the column number in diagnostic messages.
 .It Fl fsigned-char
 Define
 .Sq char
 .It Fl fsigned-char
 Define
 .Sq char