2010年11月4日

$WARNによる警告の制御

Delphiではコンパイラディレクティブ$WARNを使用して警告を有効/無効/エラーに昇格/デフォルトに戻すという指定をすることができます(エラーに昇格、デフォルトに戻すの2つはDelphi 2009以降の新機能)。

{$WARN identifier ON | OFF | ERROR | DEFAULT}
ONを指定するとその警告が有効に、OFFで無効に、ERRORでその警告をエラーに昇格、DEFAULTで指定をプロジェクトオプションで指定したものに戻す、という動作になります。

指定可能な警告とエラーコードは以下のとおりです。
SYMBOL_DEPRECATED
W1000 (ja)
SYMBOL_LIBRARY
W1001 (ja)
SYMBOL_PLATFORM
W1002 (ja)
SYMBOL_EXPERIMENTAL
W1003 (ja)
UNIT_LIBRARY
W1004 (ja)
UNIT_PLATFORM
W1005 (ja)
UNIT_DEPRECATED
W1006 (ja)
UNIT_EXPERIMENTAL
W1007 (ja)
HRESULT_COMPAT
W1008 (ja)
HIDING_MEMBER
W1009 (ja)
HIDDEN_VIRTUAL
W1010 (ja)
GARBAGE
W1011 (ja)
BOUNDS_ERROR
x1012 (ja)
ZERO_NIL_COMPAT
W1013 (ja)
STRING_CONST_TRUNCED
W1014 (ja)
FOR_LOOP_VAR_VARPAR
W1015 (ja)
TYPED_CONST_VARPAR
W1016 (ja)
ASG_TO_TYPED_CONST
W1017 (ja)
CASE_LABEL_RANGE
W1018 (ja)
FOR_VARIABLE
x1019 (ja)
CONSTRUCTING_ABSTRACT
x1020 (ja)
COMPARISON_FALSE
W1021 (ja)
COMPARISON_TRUE
W1022 (ja)
COMPARING_SIGNED_UNSIGNED
W1023 (ja)
COMBINING_SIGNED_UNSIGNED
W1024 (ja)
UNSUPPORTED_CONSTRUCT
x1025 (ja)
FILE_OPEN
x1026 (ja)
FILE_OPEN_UNITSRC
F1027 (ja)
BAD_GLOBAL_SYMBOL
x1028 (ja)
DUPLICATE_CTOR_DTOR
W1029 (ja)
INVALID_DIRECTIVE
x1030 (ja)
PACKAGE_NO_LINK
W1031 (ja)
PACKAGED_THREADVAR
W1032 (ja)
IMPLICIT_IMPORT
x1033 (ja)
HPPEMIT_IGNORED
W1034 (ja)
NO_RETVAL
W1035 (ja)
USE_BEFORE_DEF
W1036 (ja)
FOR_LOOP_VAR_UNDEF
W1037 (ja)
UNIT_NAME_MISMATCH
E1038 (ja)
NO_CFG_FILE_FOUND
W1039 (ja)
IMPLICIT_VARIANTS
W1040 (ja)
UNICODE_TO_LOCALE
W1041 (ja)
LOCALE_TO_UNICODE
W1042 (ja)
IMAGEBASE_MULTIPLE
W1043 (ja)
SUSPICIOUS_TYPECAST
W1044 (ja)
PRIVATE_PROPACCESSOR
W1045 (ja)
UNSAFE_TYPE
W1046 (ja)
UNSAFE_CODE
W1047 (ja)
UNSAFE_CAST
W1048 (ja)
OPTION_TRUNCATED
W1049 (ja)
WIDECHAR_REDUCED
W1050 (ja)
DUPLICATES_IGNORED
W1051 (ja)
UNIT_INIT_SEQ
W1052 (ja)
LOCAL_PINVOKE
W1053 (ja)
MESSAGE_DIRECTIVE
x1054 (ja)
TYPEINFO_IMPLICITLY_ADDED
W1055 (ja)
RLINK_WARNING
x1056 (ja)
IMPLICIT_STRING_CAST
W1057 (ja)
IMPLICIT_STRING_CAST_LOSS
W1058 (ja)
EXPLICIT_STRING_CAST
W1059 (ja)
EXPLICIT_STRING_CAST_LOSS
W1060 (ja)
CVT_WCHAR_TO_ACHAR
W1061 (ja)
CVT_NARROWING_STRING_LOST
W1062 (ja)
CVT_ACHAR_TO_WCHAR
W1063 (ja)
CVT_WIDENING_STRING_LOST
W1064 (ja)
NON_PORTABLE_TYPECAST
W1065 (ja)
LOST_EXTENDED_PRECISION
W1066 (ja)
LNKDFM_NOTFOUND
W1067 (ja)
IMMUTABLE_STRINGS
W1068 (ja)
MOBILE_DELPHI
W1069 (ja)
UNSAFE_VOID_POINTER
W1070 (ja)
IMPLICIT_INTEGER_CAST_LOSS
W1071 (ja)
IMPLICIT_CONVERSION_LOSS
W1072 (ja)
COMBINING_SIGNED_UNSIGNED64
W1073 (ja)
XML_WHITESPACE_NOT_ALLOWED
W1201 (ja)
XML_UNKNOWN_ENTITY
W1202 (ja)
XML_INVALID_NAME_START
W1203 (ja)
XML_INVALID_NAME
W1204 (ja)
XML_EXPECTED_CHARACTER
W1205 (ja)
XML_CREF_NO_RESOLVE
W1206 (ja)
XML_NO_PARM
W1207 (ja)
XML_NO_MATCHING_PARM
W1208 (ja)
元ねたはSource\ToolsAPI\DCCStrs.pas警告メッセージ(Delphi) - RAD Studio (en)、エラーと警告のメッセージ(Delphi) - RAD Studio (en)。

2016/04/28追記: Delphi 10.1 Berlinの情報を追加。

2017/04/04追記: Delphi 10.2 Tokyoで追加されたW1071/W1072/W1073の情報を追加。

0 件のコメント: