Compiler Option: -w
Set minimum warning level.
Syntax
`
-w level | all | none | param | Escape | pedantic | Next | funcptr | constness | suffix | Error | upcast
`
Parameters
`level`
Warning messages only with a level equal or greater to this value will be output.
`all`
Equivalent to specifying a `level` of zero (`0`).
`none`
Suppresses all warnings.
`param`
Warn when procedure parameters aren't specified with either `ByVal` or `ByRef`.
`Escape`
Warn when string literals contain any number of escape characters (`\`).
`pedantic`
Equivalent to specifying the `param` and `Escape` arguments, plus length checking of parameters passed `ByVal` and of any `CPtr` converting to pointer only, plus warning on useless suffixes in '-lang fb'.
`Next`
Warn when `Next` is followed by an identifier.
`funcptr`
Warn on mismatched procedure pointers, including conversions in `Cast` and `CPtr` expressions. Implies '-w all'. Experimental. Behaviour may change in future versions.
`constness`
Warn when `Const (Qualifier)` is discarded in an assignment. Implies '-w funcptr' and '-w all'. Behaviour may change in future versions.
`suffix`
Warn on useless suffixes in '-lang fb'.
`Error`
Report warnings as errors. Warnings cause the error count to increase, warning messages are displayed as "error warning...", compilation / assembly / linking aborts, and fbc exits with an error code.
`upcast`
Warn when up-casting discards initializers.
Description
The `-w` compiler option determines which compiler warnings, if any, are output. Each possible warning is associated with a warning level, starting from zero (`0`) and increasing with the potential problems that may occur.
The `param`, `Escape`, `pedantic`, `Next`, `funcptr`, `constness`, `suffix`, `Error`, and `upcast` arguments provide additional warnings not ordinarily output, even by default.
The default, if the `-w` option is not specified, is as if `-w 1` was used. The `-w` option can be specified multiple times. Warning messages having a level of `0` are not shown by default.
`-w none`, or a significantly high `level` value will have the effect of suppressing all warning messages.
`fbc` does not issue warning or error if the warning name itself is not valid. For example `-w flarg`, is not a recognized name for a warning. The compiler silently ignores this to allow command lines with warnings added in new versions of `fbc` to also be used with older versions of `fbc` without complaint.
Version

- Since fbc 1.10.0: '-w upcast' option
- Since fbc 1.09.0: '-w error' option.
- Before fbc 1.08.0, default warning level was 0 and some warnings had level of -1.

See also

- Using the Command Line