llvm-project/clang/test/SemaObjC
Pierre Habouzit 42f9d0c0be [objc_direct] Tigthen checks for direct methods
Because the name of a direct method must be agreed upon by the caller
and the implementation, certain bad practices that one can get away with
when using dynamism are fatal with direct methods.

To avoid really weird and unscruttable linker error, tighten the
front-end error reporting.

Rule 1:
  Direct methods can only have at most one declaration in an @interface
  container. Any redeclaration is strictly forbidden.

  Today some amount of redeclaration is tolerated between the main
  interface and categories for dynamic methods, but we can't have that.

Rule 2:
  Direct method implementations can only be declared in a matching
  @interface container: when implemented in the primary @implementation
  then the declaration must be in the primary @interface or an
  extension, and when implemented in a category, the declaration must be
  in the @interface for the same category.

Also fix another issue with ObjCMethod::getCanonicalDecl(): when an
implementation lives in the primary @interface, then its canonical
declaration can be in any extension, even when it's not an accessor.

Add Sema tests to cover the new errors, and CG tests to beef up testing
around function names for categories and extensions.

Radar-Id: <rdar://problem/58054563>

Differential Revision: https://reviews.llvm.org/D71694
2019-12-20 10:57:36 -08:00
..
Inputs [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership 2019-09-07 00:34:47 +00:00
ClassPropertyNotObject.m
ContClassPropertyLookup.m
DoubleMethod.m
NSString-type.m
aarch64-sve-types.m Add SVE opaque built-in types 2019-08-09 08:52:54 +00:00
access-property-getter.m
alias-test-1.m
alias-test-2.m
arc-bridged-cast.m
arc-cf.m
arc-decls.m [Sema] Diagnose default-initialization, destruction, and copying of 2019-09-07 00:34:43 +00:00
arc-dict-bridged-cast.m
arc-invalid.m
arc-jump-block.m
arc-no-runtime.m
arc-non-pod-memaccess.m
arc-nsconsumed-errors.m [Sema][ObjC] Warn about mismatches in attributes between overriding and 2017-09-20 05:39:18 +00:00
arc-objc-lifetime-conflict.m Generate objc intrinsics instead of runtime calls as the ARC optimizer now works only on intrinsics 2018-12-18 20:33:00 +00:00
arc-objc-lifetime.m
arc-objcbridge-related-attribute.m
arc-peformselector.m Fix typos in clang 2018-04-06 15:14:32 +00:00
arc-property-decl-attrs.m [Sema] Fix a use-after-deallocate of a ParsedAttr 2019-04-02 19:48:11 +00:00
arc-property-lifetime.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
arc-property.m
arc-readonly-property-ivar-1.m
arc-readonly-property-ivar.m
arc-repeated-weak.mm Revert [Sema] Resolve placeholder types before type deduction to silence spurious `-Warc-repeated-use-of-weak` warnings 2019-07-08 21:59:07 +00:00
arc-setter-property-match.m
arc-system-header.m [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
arc-type-conversion.m
arc-unavailable-for-weakref.m [Objective-C] Fix "weak-unavailable" warning with -fobjc-weak 2017-03-29 18:09:02 +00:00
arc-unavailable-system-function.m
arc-unbridged-cast.m
arc-unsafe-assigns.m
arc-unsafe_unretained.m
arc.m Clean up and simplify RequireCompleteType. 2018-08-07 21:35:41 +00:00
argument-checking.m
assign-rvalue-message.m DR616, and part of P0135R1: member access (or pointer-to-member access) on a 2016-12-03 01:14:32 +00:00
at-defs.m
atomic-property-synthesis-rules.m Fix two typos in one test name, three days before its 10th birthday! (NFC) 2019-11-08 09:03:46 -08:00
attr-availability-1.m Use dotted format of version tuple for availability diagnostics 2018-05-17 11:51:49 +00:00
attr-availability-priority.m Add a priority field to availability attributes to prioritize explicit 2019-01-24 19:14:39 +00:00
attr-availability.m Improve a -Wunguarded-availability note 2019-01-14 19:17:31 +00:00
attr-cf_returns.m
attr-cleanup.m
attr-deprecated-pch.m
attr-deprecated-replacement-fixit.m [Sema] Make deprecation fix-it replace all multi-parameter ObjC method slots. 2018-03-29 17:34:09 +00:00
attr-deprecated.m [Sema][ObjC] Don't emit availability diags for category @implementations 2017-05-31 15:45:57 +00:00
attr-designated-init.m [Sema][ObjC] Allow silencing -Wobjc-designated-initializers warnings by 2019-03-01 06:43:20 +00:00
attr-malloc.m
attr-nodebug.m
attr-ns_returns_retained.m Use ARC parsing rules for ns_returns_retained in MRC so that code can 2017-07-15 11:06:46 +00:00
attr-objc-exception.m
attr-objc-gc.m
attr-objc-non-lazy.m Support objc_nonlazy_class attribute on Objective-C implementations 2019-04-11 17:55:34 +00:00
attr-objc-runtime-visible.m
attr-print.m
attr-root-class.m
autoreleasepool.m
avoid-unavailable-implementation-warning-in-app-extension.m [ObjC] Supress the 'implementing unavailable method' warning when 2018-05-03 01:12:06 +00:00
bad-property-synthesis-crash.m
bad-receiver-1.m
block-as-object.m
block-attr.m
block-compare.mm Allow equality comparisons between block pointers and 2018-04-07 17:42:06 +00:00
block-explicit-return-type.m
block-id-as-block-argtype.m
block-ivar.m
block-literal-with-attribute.m Remove redundant copy-pasted comment in test file from r317736 2017-11-08 22:47:15 +00:00
block-omitted-return-type.m [ObjC] The declarator for a block literal should be a definition 2017-01-06 11:31:12 +00:00
block-on-method-param.m
block-return.m
block-type-safety.m [ObjC] Fix type checking for qualified id block parameters. 2019-08-28 00:25:06 +00:00
blocks.m
boxing-illegal.m Use {{.*}} in test case to match the type of wide string literals. 2019-03-08 15:20:12 +00:00
builtin_objc_assign_ivar.m
builtin_objc_lib_functions.m
builtin_objc_msgSend.m
builtin_objc_nslog.m
call-super-2.m [SemaObjC] Do not RebuildObjCMessageExpr without valid method decl 2016-08-22 21:50:22 +00:00
call-unavailable-init-in-self.m [ObjC] Follow-up r350768 and allow the use of unavailable methods that are 2019-01-17 18:12:45 +00:00
catch-invalid.m Sema: diagnose invalid catch parameter in ObjC 2018-05-20 19:26:44 +00:00
catch-stmt.m
category-1.m
category-method-lookup-2.m
category-method-lookup.m
check-dup-decl-methods-1.m
check-dup-objc-decls-1.m Add -Wduplicate-protocol for existing diagnostic 2016-11-10 18:30:26 +00:00
check-objcbridge-related-attribute-lookup.m
circular-container.m
class-bitfield.m
class-conforming-protocol-1.m
class-conforming-protocol-2.m
class-def-test-1.m
class-extension-after-implementation.m
class-extension-dup-methods.m
class-getter-using-dotsyntax.m
class-impl-1.m
class-message-protocol-lookup.m [ObjC][Sema] Avoid warning about a call to an instance method on an 2017-03-15 17:16:41 +00:00
class-method-lookup.m
class-method-self.m [ObjC] Add some additional test cases around pointer conversions. 2019-10-17 15:18:59 +00:00
class-property-access.m
class-proto-1.m
class-protocol-method-match.m
class-protocol.m
class-stub-attr-unsupported.m Add the `objc_class_stub` attribute. 2019-05-30 04:09:01 +00:00
class-stub-attr.m Add the `objc_class_stub` attribute. 2019-05-30 04:09:01 +00:00
class-unavail-warning.m Remove the temporary availability checking workaround for 2018-04-05 18:12:06 +00:00
cocoa-api-usage.m
cocoa-api-usage.m.fixed
compare-qualified-class.m Fix typos in clang 2018-04-06 15:14:32 +00:00
compare-qualified-id.m
compatible-protocol-qualified-types.m
compound-init.m
comptypes-1.m [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object 2019-10-17 15:27:04 +00:00
comptypes-2.m
comptypes-3.m
comptypes-4.m
comptypes-5.m
comptypes-6.m
comptypes-7.m [ObjC] Add some additional test cases around pointer conversions. 2019-10-17 15:18:59 +00:00
comptypes-8.m
comptypes-9.m
comptypes-10.m
comptypes-a.m
comptypes-legal.m Fix some handling of AST nodes with diagnostics. 2018-03-28 04:16:13 +00:00
conditional-expr-2.m
conditional-expr-3.m
conditional-expr-4.m
conditional-expr-5.m
conditional-expr-6.m
conditional-expr-7.m
conditional-expr-8.m
conditional-expr.m
conflict-atomic-property.m
conflict-nonfragile-abi2.m
conflicting-ivar-test-1.m
continuation-class-err.m
continuation-class-property.m
conversion.m [Sema] Fix-up a -Wfloat-conversion diagnostic 2019-02-14 22:48:01 +00:00
crash-label.m
crash-on-objc-bool-literal.m
crash-on-type-args-protocols.m [SemaObjC] Be more strict while parsing type arguments and protocols 2016-09-13 20:04:35 +00:00
custom-atomic-property.m
dealloc.m
debugger-cast-result-to-id.m
debugger-support.m
default-synthesize-1.m [Sema] Silence -Wobjc-missing-property-synthesis for unavailable properties 2017-08-15 12:40:01 +00:00
default-synthesize-2.m
default-synthesize-3.m Add a fixit for -Wobjc-protocol-property-synthesis 2017-07-03 10:12:24 +00:00
default-synthesize-sourceloc.m Set a source location for Objective-C accessor stubs 2019-12-05 12:45:10 -08:00
default-synthesize.m Add a fixit for -Wobjc-protocol-property-synthesis 2017-07-03 10:12:24 +00:00
delay-parsing-cfunctions.m
deprecate_function_containers.m
deprecated-objc-introspection.m
deref-interface.m
diagnose_if.m Change __has_feature(objc_diagnose_if_attr) to __has_feature(attribute_diagnose_if_objc) for consistency with rest of attribute checks. 2017-05-24 01:38:00 +00:00
direct-synthesized-ivar-access.m
dist-object-modifiers.m
dllexport.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
dllimport.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
duplicate-ivar-check.m
duplicate-ivar-in-class-extension.m
duplicate-property-class-extension.m
duplicate-property.m
encode-typeof-test.m
enhanced-proto-2.m
enum-fixed-type.m Don't define __has_feature(objc_fixed_enum) in non-objc mode 2019-01-30 21:14:08 +00:00
err-ivar-access-in-class-method.m
error-implicit-property.m
error-missing-getter.m
error-outof-scope-property-use.m
error-property-gc-attr.m
exprs.m
externally-retained-no-arc.m [ObjCARC] Add an new attribute, objc_externally_retained 2019-01-04 18:33:06 +00:00
externally-retained.m Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
flexible-array-arc.m [Sema] Add support for flexible array members in Obj-C. 2017-10-23 22:01:41 +00:00
flexible-array.m [Sema] Add support for flexible array members in Obj-C. 2017-10-23 22:01:41 +00:00
foreach.m [Sema][ObjC] Disallow jumping into ObjC fast enumeration loops. 2017-04-19 17:54:08 +00:00
format-arg-attribute.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
format-cstrings-warning.m
format-ostrace-warning.m
format-size-spec-nsinteger.m [Sema] -Wformat-pedantic only for NSInteger/NSUInteger %tu/%td on Darwin 2018-07-05 22:51:11 +00:00
format-strings-objc.m [Sema][ObjC] Fix a -Wformat false positive with localizedStringForKey 2019-08-14 16:57:11 +00:00
format-strings-oslog.m os_log: Allow specifying mask type in format string. 2018-11-06 07:05:14 +00:00
format-strings-system.h
format-strings-utf8.m
forward-class-1.m
forward-class-receiver.m
forward-class-redeclare.m
forward-protocol-incomplete-impl-warn.m Add a fixit for -Wobjc-protocol-property-synthesis 2017-07-03 10:12:24 +00:00
gc-attributes.m Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
gcc-cast-ext.m
generic-selection.m
getter-setter-defined-in-category-of-parent.m
ibaction.m
iboutlet.m Redeclare Objective-C property accessors inside the ObjCImplDecl in which they are synthesized. 2019-11-08 08:23:22 -08:00
iboutletcollection-attr.m
id.m
id_builtin.m
idiomatic-parentheses.m
ignore-qualifier-on-qualified-id.m
ignore-weakimport-method.m
illegal-nonarc-bridged-cast.m [Sema][ObjC] Fix spurious -Wcast-qual warnings. 2017-08-11 00:06:49 +00:00
incompatible-protocol-qualified-types.m
incomplete-implementation.m [Sema] Emit -Wincomplete-implementation for partial methods. 2018-07-07 01:50:20 +00:00
infer-availability-from-init.m [SemaObjC] Don't infer the availabilty of +new from -init if the receiver has Class type 2019-02-04 23:30:57 +00:00
inst-method-lookup-in-root.m
instancetype.m
integer-overflow.m [Sema] Emit -Winteger-overflow for arguments in function calls, ObjC messages. 2018-03-27 21:29:05 +00:00
interface-1.m
interface-layout-2.m
interface-layout.m
interface-scope-2.m
interface-scope.m
interface-tu-variable.m
invalid-code.m
invalid-objc-decls-1.m
invalid-receiver.m
invalid-typename.m [ObjC] Improve error message for a malformed objc-type-name 2019-06-26 23:39:23 +00:00
ivar-access-package.m
ivar-access-tests.m
ivar-in-class-extension-error.m
ivar-in-class-extension.m
ivar-in-implementations.m
ivar-lookup-resolution-builtin.m
ivar-lookup.m
ivar-ref-misuse.m
ivar-sem-check-1.m [Sema] Add support for flexible array members in Obj-C. 2017-10-23 22:01:41 +00:00
ivar-sem-check-2.m
kindof.m [ObjC generics] Fix applying `__kindof` to the type parameter. 2019-02-16 01:01:08 +00:00
legacy-implementation-1.m
message.m
method-arg-qualifier-warning.m
method-attributes.m
method-bad-param.m Fix errored return value in CheckFunctionReturnType and add a fixit hint 2017-05-10 20:03:16 +00:00
method-conflict-1.m
method-conflict-2.m
method-conflict.m
method-def-1.m
method-def-2.m
method-direct-one-definition.m [objc_direct] Tigthen checks for direct methods 2019-12-20 10:57:36 -08:00
method-direct-properties.m Implement __attribute__((objc_direct)), __attribute__((objc_direct_members)) 2019-11-18 11:48:40 -08:00
method-direct.m Implement __attribute__((objc_direct)), __attribute__((objc_direct_members)) 2019-11-18 11:48:40 -08:00
method-encoding-2.m
method-in-class-extension-impl.m
method-lookup-2.m
method-lookup-3.m
method-lookup-4.m
method-lookup-5.m
method-lookup.m
method-no-context.m
method-not-defined.m
method-prototype-scope.m
method-redecls-invalid-interface.m [ObjC] Prevent infinite loops when iterating over redeclaration 2016-11-21 11:16:30 +00:00
method-sentinel-attr.m
method-typecheck-1.m
method-typecheck-2.m
method-typecheck-3.m
method-undef-category-warn-1.m
method-undef-extension-warn-1.m
method-undefined-warn-1.m
method-unused-attribute.m [Sema][ObjC] Disable -Wunused-parameter for ObjC methods 2019-05-03 07:19:46 +00:00
method-warn-unused-attribute.m
mismatched-undefined-method.m
missing-atend-metadata.m
missing-method-context.m
missing-method-return-type.m
mrc-no-weak.m
mrc-weak.m Fix for the greendragon bots. 2019-05-08 05:59:25 +00:00
multiple-method-names-in-class-self.m [ObjC] Messages to 'self' in class methods that return 'instancetype' should 2018-12-20 22:11:11 +00:00
multiple-method-names.m
multiple-property-deprecated-decl.m
narrow-property-type-in-cont-class.m
nested-typedef-decl.m
newproperty-class-method-1.m
no-gc-weak-test.m
no-ivar-access-control.m
no-ivar-in-interface-block.m
no-objc-exceptions.m
no-protocol-option-tests.m
no-warn-qual-mismatch.m
no-warn-synth-protocol-meth.m
no-warn-unimpl-method.m
no-warning-unavail-unimp.m
non-trivial-c-union.m [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership 2019-09-07 00:34:47 +00:00
nonnull.h
nonnull.m [Sema] Fix a use-after-free of a _Nonnull ParsedAttr 2019-03-14 18:38:02 +00:00
nowarn-superclass-method-mismatch.m
ns-consumed-error-not-warning.m PR35815: Separate out the ns-consumed diagnostic into an error and 2018-01-03 23:52:42 +00:00
ns_returns_retained_block_return.m
nsobject-attribute-1.m
nsobject-attribute.m Objective-C diagnostics: isObjCNSObjectType should check through AttributedType. 2016-08-15 21:05:00 +00:00
nullability-arc.m
nullability.m Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
nullability_macro.m Remove unicode character from test 2019-05-21 20:12:00 +00:00
nullable-weak-property.m
objc-array-literal.m [SemaObjC] Improve ObjCDictionaryLiteral and ObjCArryLiteral diagnostics 2016-07-19 20:21:18 +00:00
objc-asm-attribute-neg-test.m Add support for attributes on @implementations in Objective-C 2019-04-11 17:55:30 +00:00
objc-boxed-expressions-nsvalue.m
objc-buffered-methods.m
objc-cf-audited-warning.m
objc-class-property.m Sema: use PropertyDecl for property selector 2017-02-20 23:45:49 +00:00
objc-container-subscripting-1.m [ObjC] Check that a subscript methods is declared for a qualified id type 2017-07-11 10:18:35 +00:00
objc-container-subscripting-2.m [ObjC] Check that a subscript methods is declared for a qualified id type 2017-07-11 10:18:35 +00:00
objc-container-subscripting-3.m
objc-container-subscripting-attr.m
objc-container-subscripting.m
objc-cstyle-args-in-methods.m
objc-dictionary-literal.m [SemaObjC] Improve ObjCDictionaryLiteral and ObjCArryLiteral diagnostics 2016-07-19 20:21:18 +00:00
objc-independent-class-attribute.m
objc-literal-comparison.m
objc-literal-nsnumber.m
objc-literal-sig.m [ObjC] Emit a boxed expression as a compile-time constant if the 2019-03-08 04:45:37 +00:00
objc-mixed-bridge-attribute.m
objc-qualified-property-lookup.m
objc-string-constant.m
objc2-merge-gc-attribue-decl.m
objc2-warn-weak-decl.m
objcbridge-attribute-arc.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
objcbridge-attribute.m Determine the attribute subject for diagnostics based on declarative information in DeclNodes.td. This greatly reduces the number of enumerated values used for more complex diagnostics; these are now only required when the "attribute only applies to" diagnostic needs to be generated manually as part of semantic processing. 2017-11-26 20:01:12 +00:00
objcbridge-related-attribute.m
objcbridgemutable-attribute.m
opaque-is-access-warn.m
opaque-is-access.m
override-nullability.m
overriding-property-in-class-extension.m
ovl-check.m
parameterized_classes.m
parameterized_classes_arc.m
parameterized_classes_collection_literal.m
parameterized_classes_subst.m Revert r374202"[ObjC generics] Fix not inheriting type bounds in categories/extensions." 2019-10-22 22:39:01 +02:00
pedantic-dynamic-test.m
pragma-pack.m
property-2.m
property-3.m
property-4.m
property-5.m
property-6.m
property-7.m
property-8.m
property-9-impl-method.m
property-9.m
property-10.m Remove GC-related warning terminology 2018-04-17 04:25:18 +00:00
property-11.m
property-12.m
property-13.m
property-ambiguous-synthesis.m [ObjC] Pick a 'readwrite' property when synthesizing ambiguous 2017-07-13 11:06:22 +00:00
property-and-class-extension.m
property-and-ivar-use.m
property-assign-on-object-type.m Add -Wobjc-property-assign-on-object-type. 2018-09-05 19:02:00 +00:00
property-atomic-redecl.m
property-category-1.m
property-category-2.m
property-category-3.m
property-category-4.m
property-category-impl.m
property-choose-expr.m
property-deprecated-warning.m Improve a -Wunguarded-availability note 2019-01-14 19:17:31 +00:00
property-dot-receiver.m
property-error-readonly-assign.m
property-expression-error.m
property-impl-misuse.m
property-implement-readonly-with-custom-setter.m [ObjC] Don't warn on readwrite properties with custom setters that 2017-10-06 19:24:26 +00:00
property-in-class-extension-1.m Add -Wobjc-property-assign-on-object-type. 2018-09-05 19:02:00 +00:00
property-in-class-extension.m
property-inherited.m
property-ivar-mismatch.m Fix typos in clang 2018-04-06 15:14:32 +00:00
property-lookup-in-id.m
property-method-lookup-impl.m
property-missing.m
property-nonfragile-abi.m
property-noninherited-availability-attr.m AvailabilityAttr: we accept "macos" as the platform name. 2016-06-28 20:55:30 +00:00
property-noprotocol-warning.m
property-not-lvalue.m
property-ns-returns-not-retained-attr.m
property-ownership-attr.m
property-redundant-decl-accessor.m
property-typecheck-1.m [Sema][ObjC] Avoid the "type of property does not match type of accessor" 2017-03-30 13:33:51 +00:00
property-user-setter.m
property-weak.m
property.m Remove GC-related warning terminology 2018-04-17 04:25:18 +00:00
props-on-prots.m
protocol-archane.m
protocol-attribute.m
protocol-expr-1.m
protocol-expr-neg-1.m [ObjC] Error out when using forward-declared protocol in a @protocol 2018-08-17 22:18:08 +00:00
protocol-id-test-1.m
protocol-id-test-2.m
protocol-id-test-3.m
protocol-implementation-inherited.m
protocol-implementing-class-methods.m
protocol-lookup-2.m
protocol-lookup.m
protocol-qualified-class-unsupported.m
protocol-typecheck.m
protocol-warn.m
protocols-suppress-conformance.m
protocols.m
provisional-ivar-lookup.m
qualified-protocol-method-conflicts.m
rdar6248119.m
rdr-6211479-array-property.m
receiver-forward-class.m
related-result-type-inference.m
resolve-method-in-global-pool.m
restrict-id-type.m
return.m
scope-check.m Reapply "[Parse] Use CapturedStmt for @finally on MSVC" 2018-06-08 00:30:00 +00:00
selector-1.m
selector-2.m
selector-3.m
selector-4.m
selector-error.m
selector-overload.m
self-assign.m
self-comparison.m
self-declared-in-block.m
self-in-function.m
setter-dotsyntax.m
severe-syntax-error.m
sign-conversion.m
signed-char-bool-conversion.m [Sema] Fix a -Wobjc-signed-char-bool false-positive 2019-11-18 12:15:20 -08:00
sizeof-interface.m
special-dep-unavail-warning.m Correct class-template deprecation behavior-REDUX 2017-03-23 18:51:54 +00:00
stand-alone-implementation.m
static-ivar-ref-1.m
stmts.m
string.m
strong-in-c-struct.m [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
subclassing-restricted-attr.m [Objective-C] Add objc_subclassing_restricted attribute 2016-10-28 10:25:10 +00:00
super-cat-prot.m
super-class-protocol-conformance.m
super-dealloc-attribute.m
super-property-message-expr.m
super-property-notation.m
super.m
suspicious-pragma-pack.m Recommit r308327 3rd time: Add a warning for missing 2017-07-28 14:41:21 +00:00
synchronized.m
synth-provisional-ivars-1.m
synth-provisional-ivars.m
synthesize-setter-contclass.m
synthesized-ivar.m
tentative-property-decl.m
transfer-boxed-string-nullability.m [ObjC] Emit a boxed expression as a compile-time constant if the 2019-03-08 04:45:37 +00:00
transparent-union.m
try-catch.m
typedef-class.m
typo-correction-arc.m
typo-correction-subscript.m [Sema] Emit diagnostics for uncorrected delayed typos at the end of TU 2019-10-09 10:00:05 +00:00
typo-correction.m [Sema] Correct typos in LHS, RHS before building a binop expression. 2017-09-15 00:08:37 +00:00
ucn-objc-string.m
undeclared-selector.m
undef-arg-super-method-call.m
undef-class-messagin-error.m
undef-class-property-error.m [Sema] Avoid crash for category implementation without interface 2018-03-27 18:58:28 +00:00
undef-protocol-methods-1.m
undef-superclass-1.m
undefined-protocol-type-1.m
unguarded-availability-category-protocol-use.m [Sema][ObjC] Process category attributes before checking protocol uses 2018-02-23 23:49:43 +00:00
unguarded-availability-new.m Improve a -Wunguarded-availability note 2019-01-14 19:17:31 +00:00
unguarded-availability.m Improve a -Wunguarded-availability note 2019-01-14 19:17:31 +00:00
unimplemented-protocol-prop.m
uninit-variables.m
unknown-anytype.m
unqualified-to-qualified-class-warn.m
unsafe-perform-selector.m [Sema][ObjC] Warn about 'performSelector' calls with selectors 2017-03-06 15:58:34 +00:00
unused-backing-ivar-warning.m
unused.m [Sema][ObjC] Disable -Wunused-parameter for ObjC methods 2019-05-03 07:19:46 +00:00
va-method-1.m
warn-assign-property-nscopying.m
warn-cast-of-sel-expr.m
warn-category-method-deprecated.m
warn-deprecated-implementations.m Extend -Wdeprecated-implementations to warn about unavailable methods 2017-07-13 16:37:11 +00:00
warn-direct-ivar-access.m
warn-explicit-call-initialize.m
warn-forward-class-attr-deprecated.m
warn-implicit-atomic-property.m
warn-incompatible-builtin-types.m
warn-loop-analysis.m
warn-messaging-id.mm [ObjC] Add a -Wobjc-messaging-id warning 2017-08-25 16:12:17 +00:00
warn-missing-super.m
warn-nontrivial-struct-memaccess.m [Sema] Warn about memcpy'ing non-trivial C structs. 2018-04-17 19:13:41 +00:00
warn-protocol-method-deprecated.m
warn-retain-block-property.m
warn-retain-cycle.m [ObjC][ARC] Honor noescape attribute for -Warc-retain-cycles 2017-11-17 20:44:25 +00:00
warn-selector-selection.m
warn-strict-selector-match.m
warn-superclass-method-mismatch.m
warn-thread-safety-analysis.m
warn-unreachable.m
warn-unused-exception-param.m
warn-weak-field.m
warn-write-strings.m
warning-missing-selector-name.m
weak-attr-ivar.m
weak-property.m
writable-property-in-superclass.m
x86-method-vector-values.m [ObjC] Don't disallow vector parameters/return values in methods 2017-05-05 16:15:17 +00:00