quakeforge/tools/qfcc/doc/warnings.txt

39 lines
2.3 KiB
Plaintext

`-Wno-protocol'
If a class is declared to implement a protocol, a warning is
issued for every method in the protocol that is not implemented by
the class. The default behavior is to issue a warning for every
method not explicitly implemented in the class, even if a method
implementation is inherited from the superclass. If you use the
`-Wno-protocol' option, then methods inherited from the superclass
are considered to be implemented, and no warning is issued for
them.
`-Wselector'
Warn if multiple methods of different types for the same selector
are found during compilation. The check is performed on the list
of methods in the final stage of compilation. Additionally, a
check is performed for each selector appearing in a
`@selector(...)' expression, and a corresponding method for that
selector has been found during compilation. Because these checks
scan the method table only at the end of compilation, these
warnings are not produced if the final stage of compilation is not
reached, for example because an error is found during compilation,
or because the `-fsyntax-only' option is being used.
`-Wstrict-selector-match'
Warn if multiple methods with differing argument and/or return
types are found for a given selector when attempting to send a
message using this selector to a receiver of type `id' or `Class'.
When this flag is off (which is the default behavior), the
compiler will omit such warnings if any differences found are
confined to types which share the same size and alignment.
`-Wundeclared-selector'
Warn if a `@selector(...)' expression referring to an undeclared
selector is found. A selector is considered undeclared if no
method with that name has been declared before the
`@selector(...)' expression, either explicitly in an `@interface'
or `@protocol' declaration, or implicitly in an `@implementation'
section. This option always performs its checks as soon as a
`@selector(...)' expression is found, while `-Wselector' only
performs its checks in the final stage of compilation. This also
enforces the coding style convention that methods and selectors
must be declared before being used.