Skip to content

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

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft