llvm-project/clang/test/SemaObjC
Alex Lorenz f50d1aca99 [ObjC] Messages to 'self' in class methods that return 'instancetype' should
use the pointer to the class as the result type of the message

Prior to this commit, messages to self in class methods were treated as instance
methods to a Class value. When these methods returned instancetype the compiler
only saw id through the instancetype, and not the Interface *. This caused
problems when that return value was a receiver in a message send, as the
compiler couldn't select the right method declaration and had to rely on a
selection from the global method pool.

This commit modifies the semantics of such message sends and uses class messages
that are dispatched to the interface that corresponds to the class that contains
the class method. This ensures that instancetypes are correctly interpreted by
the compiler. This change is safe under ARC (as self can't be reassigned),
however, it also applies to MRR code as we are assuming that the user isn't
doing anything unreasonable.

rdar://20940997

Differential Revision: https://reviews.llvm.org/D36790

llvm-svn: 349841
2018-12-20 22:11:11 +00:00
..
Inputs PR35815: Separate out the ns-consumed diagnostic into an error and 2018-01-03 23:52:42 +00:00
ClassPropertyNotObject.m
ContClassPropertyLookup.m
DoubleMethod.m
NSString-type.m
access-property-getter.m [SemaObjC] Remove unused code from test. 2015-08-21 20:28:16 +00:00
alias-test-1.m
alias-test-2.m
arc-bridged-cast.m [Objective-C Sema] It is permissable to bridge cast to 'id' 2015-04-09 23:39:53 +00:00
arc-cf.m
arc-decls.m [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
arc-dict-bridged-cast.m Allow (Object *)kMyGlobalCFObj casts without bridging 2015-02-25 20:09:06 +00:00
arc-invalid.m
arc-jump-block.m
arc-no-runtime.m Be more conservative about diagnosing "incorrect" uses of __weak: 2015-10-27 04:54:50 +00:00
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 [ObjC] The absence of ownership qualifiers on an ambiguous property leads 2018-05-02 22:40:19 +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 Check pointer null-ness before dereferencing it. 2018-05-29 22:43:00 +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 Refine r251469 to give better (and more localizable) diagnostics 2015-10-28 05:03:19 +00:00
arc-unbridged-cast.m Allow (Object *)kMyGlobalCFObj casts without bridging 2015-02-25 20:09:06 +00:00
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
atomoic-property-synnthesis-rules.m Adding back in a test that I inadvertently removed in r258862 2016-01-27 15:51:56 +00:00
attr-availability-1.m Use dotted format of version tuple for availability diagnostics 2018-05-17 11:51:49 +00:00
attr-availability.m [Sema] Improve some -Wunguarded-availability diagnostics 2017-08-14 19:49:12 +00:00
attr-cf_returns.m Allow the cf_returns_[not_]retained attributes to appear on out-parameters. 2015-06-19 23:17:46 +00:00
attr-cleanup.m
attr-deprecated-pch.m Objective-C: Serialize "more than one decl" state of ObjCMethodList. 2014-12-27 22:14:15 +00:00
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] Allow to opt-out of overriding the super class's designated initializers by marking the initializer as unavailable in the subclass. 2015-07-30 19:06:04 +00:00
attr-malloc.m Sema: Add support for __declspec(restrict) 2015-02-04 07:23:21 +00:00
attr-nodebug.m Add a Subjects line to NoDebugAttr [NFC]. 2016-04-29 17:03:34 +00:00
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 Define weak and __weak to mean ARC-style weak references, even in MRC. 2015-10-22 18:38:17 +00:00
attr-objc-runtime-visible.m [Objective-C] Introduce objc_runtime_visible attribute. 2016-04-01 23:23:52 +00:00
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 Improve the Objective-C common-type computation used by the ternary operator. 2015-07-07 03:58:01 +00:00
blocks.m Update a few more tests in response to the MS ABI enum semantics 2015-10-08 08:28:09 +00:00
boxing-illegal.m
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
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 [ObjC] Circular containers: add support of subclasses 2015-08-06 04:51:14 +00:00
class-bitfield.m C11 _Bool bitfield diagnostic 2015-09-14 21:27:36 +00:00
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 [Sema/objc] When checking for unimplemented methods treat methods from class extensions as continuation of the class interface. 2015-10-13 23:27:34 +00:00
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
class-property-access.m
class-proto-1.m
class-protocol-method-match.m
class-protocol.m
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
comptypes-2.m
comptypes-3.m
comptypes-4.m
comptypes-5.m
comptypes-6.m
comptypes-7.m
comptypes-8.m
comptypes-9.m Update mailing list references to lists.llvm.org 2015-08-05 03:55:23 +00:00
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 Improve the Objective-C common-type computation used by the ternary operator. 2015-07-07 03:58:01 +00:00
conditional-expr.m Improve the Objective-C common-type computation used by the ternary operator. 2015-07-07 03:58:01 +00:00
conflict-atomic-property.m
conflict-nonfragile-abi2.m
conflicting-ivar-test-1.m
continuation-class-err.m
continuation-class-property.m
conversion.m
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 Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
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.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 Support enums with a fixed underlying type in all language modes. 2018-09-28 20:24:58 +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
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 [Objective-C]. Provide a new formatting kind, "os_trace" which 2015-02-21 00:45:58 +00:00
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 Fix printf specifier handling: invalid specifier should not be marked as "consuming data arguments" 2016-12-15 18:54:00 +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 [Sema] Attempt [3] to fix tests for utf-8 invalid format string specifiers 2016-03-29 21:30:58 +00:00
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 Define __unsafe_unretained and __autoreleasing in ObjC GC mode. 2015-11-10 23:00:25 +00:00
gcc-cast-ext.m
generic-selection.m
getter-setter-defined-in-category-of-parent.m
ibaction.m
iboutlet.m arc-repeated-use-of-weak should not warn about IBOutlet properties 2016-05-25 05:41:57 +00: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 [Sema][ObjC] Infer availability of +new from availability of -init. 2018-09-10 22:20:09 +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 Handle Objective-C type arguments. 2015-07-07 03:57:35 +00:00
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
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 ObjectiveC Generics: Start using ObjCTypeParamType. 2016-09-13 17:41:05 +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-encoding-2.m
method-in-class-extension-impl.m
method-lookup-2.m
method-lookup-3.m Objective-C. Provide group name for warning 2014-12-18 19:41:11 +00:00
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
method-warn-unused-attribute.m Implement support for [[nodiscard]] in C++1z that is based off existing support for warn_unused_result, and treat it as an extension pre-C++1z. This also means extending the existing warn_unused_result attribute so that it can be placed on an enum as well as a class. 2016-03-07 22:44:55 +00:00
mismatched-undefined-method.m
missing-atend-metadata.m
missing-method-context.m
missing-method-return-type.m
mrc-no-weak.m Refine r251469 to give better (and more localizable) diagnostics 2015-10-28 05:03:19 +00:00
mrc-weak.m Don't actually add the __unsafe_unretained qualifier in MRC; 2015-11-19 02:28:03 +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 ObjC kindof: order the methods in global pool relative to availability. 2016-04-13 23:43:56 +00:00
multiple-property-deprecated-decl.m [Objective-C Sema] Patch to not issue unavailbility/deprecated 2015-04-07 16:56:27 +00:00
narrow-property-type-in-cont-class.m
nested-typedef-decl.m
newproperty-class-method-1.m
no-gc-weak-test.m Be more conservative about diagnosing "incorrect" uses of __weak: 2015-10-27 04:54:50 +00:00
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
nonnull.h
nonnull.m [Sema] Don't crash when __attribute__((nonnull)) is applied to blocks 2015-04-07 06:01:53 +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 Replace __double_underscored type nullability qualifiers with _Uppercase_underscored 2015-06-24 22:02:08 +00:00
nullability.m Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
nullable-weak-property.m Fix inference of _Nullable for weak Objective-C properties. 2015-10-09 20:36:17 +00:00
objc-array-literal.m [SemaObjC] Improve ObjCDictionaryLiteral and ObjCArryLiteral diagnostics 2016-07-19 20:21:18 +00:00
objc-asm-attribute-neg-test.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
objc-boxed-expressions-nsvalue.m Cleanup ObjCInterfaceDecl lookup for ObjC literals 2015-07-24 05:09:40 +00:00
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 [Objective-C Sema]. In my last patch change the 2015-04-16 21:52:34 +00:00
objc-literal-comparison.m Objective-C. revert patch for rdar://17554063. 2014-10-28 18:28:16 +00:00
objc-literal-nsnumber.m Cleanup ObjCInterfaceDecl lookup for ObjC literals 2015-07-24 05:09:40 +00:00
objc-literal-sig.m
objc-mixed-bridge-attribute.m
objc-qualified-property-lookup.m
objc-string-constant.m
objc2-merge-gc-attribue-decl.m [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
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 [Objective-C Sema] Fixes a typo which did not allow 2015-04-10 22:07:47 +00:00
opaque-is-access-warn.m Support watchOS and tvOS driver options 2015-10-30 16:30:27 +00:00
opaque-is-access.m
override-nullability.m Extend type nullability qualifiers for Objective-C. 2015-06-19 18:14:38 +00:00
overriding-property-in-class-extension.m
ovl-check.m [Sema] More changes to fix Objective-C fallout from r249995. 2016-02-13 01:41:41 +00:00
parameterized_classes.m [SemaObjC] Properly handle mix between type arguments and protocols. 2016-04-13 20:59:07 +00:00
parameterized_classes_arc.m Forbid qualifiers on ObjC generic parameters and arguments, but 2015-09-23 22:14:21 +00:00
parameterized_classes_collection_literal.m Warn when an Objective-C collection literal element is converted to an incompatible type. 2015-07-07 03:58:22 +00:00
parameterized_classes_subst.m ObjectiveC Generics: Start using ObjCTypeParamType. 2016-09-13 17:41:05 +00:00
pedantic-dynamic-test.m
pragma-pack.m
property-2.m
property-3.m Objective-C properties: merge attributes when redeclaring 'readonly' as 'readwrite' in an extension. 2015-12-10 23:02:09 +00:00
property-4.m
property-5.m
property-6.m
property-7.m
property-8.m
property-9-impl-method.m
property-9.m [Objective-C Sema] Use canonical type of properties when comparing 2015-04-08 21:34:04 +00:00
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 Objective-C properties: merge attributes when redeclaring 'readonly' as 'readwrite' in an extension. 2015-12-10 23:02:09 +00:00
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 [Sema][ObjC] Do not DiagnoseUseOfDecl in LookupMemberExpr 2018-05-24 01:01:43 +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 [Sema/objc] When checking for unimplemented methods treat methods from class extensions as continuation of the class interface. 2015-10-13 23:27:34 +00:00
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 C++ support for Objective-C lightweight generics. 2015-07-07 03:58:14 +00:00
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 Improve the Objective-C common-type computation used by the ternary operator. 2015-07-07 03:58:01 +00:00
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 [Objective-C Sema]. Don't warn about use of 2015-02-19 21:52:41 +00:00
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
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 Patch fixes PR21932 crash on invalid code. Using 2015-01-20 16:53:34 +00:00
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 Be more conservative about diagnosing "incorrect" uses of __weak: 2015-10-27 04:54:50 +00:00
tentative-property-decl.m
transfer-boxed-string-nullability.m [ObjC] Boxed strings should use the nullability from stringWithUTF8String's return type 2017-11-08 21:33:15 +00:00
transparent-union.m
try-catch.m
typedef-class.m
typo-correction-arc.m Sema: handle typo correction on ARC'ed ivar 2016-02-07 02:30:59 +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 [Objective-C patch]. Amend TransformObjCMessageExpr to handle call 2015-03-30 23:30:24 +00:00
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 [Sema] Improve some -Wunguarded-availability diagnostics 2017-08-14 19:49:12 +00:00
unguarded-availability.m [Availability] Improve availability to consider functions run at load time 2018-04-16 23:34:18 +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 [Objctive-C sema]. Do not do the unused-getter-return-value 2015-02-16 23:49:44 +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-implicit-self-in-block.m
warn-incompatible-builtin-types.m
warn-loop-analysis.m Fix false positives for for-loop-analysis warning 2016-03-10 02:02:48 +00:00
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 ObjC kindof: check the context when inserting methods to global pool. 2016-04-09 18:59:48 +00:00
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