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.