1.2.81 $WARN : Control emission of warnings

This directive allows to selectively turn on or off the emission of warnings. It takes the following form

{$WARN IDENTIFIER ON}
{$WARN IDENTIFIER OFF}
{$WARN IDENTIFIER +}
{$WARN IDENTIFIER -}
{$WARN IDENTIFIER ERROR}

ON or + turns on emission of the warning. The OFF or - values suppress the warning. ERROR promotes the warning to an error, and the compiler will treat it as such.

The IDENTIFIER is the name of a warning message. The following names are recognized:

CONSTRUCTING_ABSTRACT

Constructing an instance of a class with abstract methods.

IMPLICIT_VARIANTS

Implicit use of the variants unit.

NO_RETVAL

Function result is not set.

SYMBOL_DEPRECATED

Deprecated symbol.

SYMBOL_EXPERIMENTAL

Experimental symbol

SYMBOL_LIBRARY

Not used.

SYMBOL_PLATFORM

Platform-dependent symbol.

SYMBOL_UNIMPLEMENTED

Unimplemented symbol.

UNIT_DEPRECATED

Deprecated unit.

UNIT_EXPERIMENTAL

Experimental unit.

UNIT_LIBRARY

UNIT_PLATFORM

Platform dependent unit.

UNIT_UNIMPLEMENTED

Unimplemented unit.

ZERO_NIL_COMPAT

Converting 0 to NIL

IMPLICIT_STRING_CAST

Implicit string type conversion

IMPLICIT_STRING_CAST_LOSS

Implicit string typecast with potential data loss from ”$1” to ”$2”

EXPLICIT_STRING_CAST

Explicit string type conversion

EXPLICIT_STRING_CAST_LOSS

Explicit string typecast with potential data loss from ”$1” to ”$2”

CVT_NARROWING_STRING_LOST

Unicode constant cast with potential data loss

INTF_RAISE_VISIBILITY

Using an interface raises the visibility of the implementation of a method. (this is an error for the JVM bytecode backend)

Besides the above text identifiers, the identifier can also be a message number. The numbers of the messages are displayed when the -vq command-line option is used.