llvm-project/clang/test/SemaObjCXX
Alex Lorenz 776b417634 [Sema][ObjC++] Typo correction should handle ivars and properties
After r260016 and r260017 disabled typo correction for ivars and properties
clang didn't report errors about unresolved identifier in the base of ivar and
property ref expressions. This meant that clang invoked CodeGen on invalid AST
which then caused a crash.

This commit re-enables typo correction for ivars and properites, and fixes the
PR25113 & PR26486 (that were originally fixed in r260017 and r260016) in a
different manner by transforming the Objective-C ivar reference expression with
'IsFreeIvar' preserved.

rdar://30310772

llvm-svn: 294008
2017-02-03 14:22:33 +00:00
..
Inputs Add fix-it notes to the nullability consistency warning. 2016-12-19 20:58:20 +00:00
NSString-type.mm
abstract-class-type-ivar.mm Remove referece type onproperty of abstract 2013-07-05 23:50:55 +00:00
arc-0x.mm
arc-bool-conversion.mm
arc-bridged-cast.mm Recognize objc_bridge(id) on bridged casts to CF types. 2015-03-10 18:41:23 +00:00
arc-libstdcxx.mm
arc-memfunc.mm
arc-nsconsumed-errors.mm Improve some infrastructure for extended parameter infos and 2016-03-03 00:10:03 +00:00
arc-objc-lifetime.mm
arc-overloading.mm
arc-ppe.mm Adding a -Wunused-value warning for expressions with side effects used in an unevaluated expression context, such as sizeof(), or decltype(). Also adds a similar warning when the expression passed to typeid() *is* evaluated, since it is equally likely that the user would expect the expression operand to be unevaluated in that case. 2014-12-17 21:57:17 +00:00
arc-system-header.mm Refine r251469 to give better (and more localizable) diagnostics 2015-10-28 05:03:19 +00:00
arc-templates.mm Improve some infrastructure for extended parameter infos and 2016-03-03 00:10:03 +00:00
arc-type-conversion.mm Some minor ARC diagnostic improvements. 2015-10-21 18:06:38 +00:00
arc-type-traits.mm
arc-unavailable-for-weakref.mm
arc-unbridged-cast.mm
argument-dependent-lookup.mm
base-type-as-written.mm [Sema] Remove assert in TreeTransform<Derived>::TransformObjCObjectType. 2016-02-25 07:08:33 +00:00
block-cleanup.mm [ObjC] Enter a new evaluation context before calling 2016-05-04 18:07:20 +00:00
block-for-lambda-conversion.mm ObjCXX: fix a crash during typo correction. 2016-02-02 22:23:03 +00:00
blocks.mm
boxing-illegal-types.mm
capturing-flexible-array-in-block.mm
category-lookup.mm
composite-objc-pointertype.mm
conditional-expr.mm
const-cast.mm
contextual-convert-to-id.mm Allow Objective-C pointer conversions following an explicit user conversion. 2013-12-18 21:46:16 +00:00
conversion-ranking.mm
conversion-to-objc-pointer-2.mm
conversion-to-objc-pointer.mm
crash.mm [ObjC++] Don't enter a C++ declarator scope when the current context is 2016-12-07 10:24:44 +00:00
cstyle-block-pointer-cast.mm
cstyle-cast.mm
cxx1y-lambda.mm Perform Objective-C lifetime adjustments before comparing deduced lambda result types. 2015-10-01 20:20:47 +00:00
cxxoperator-selector.mm
debugger-cast-result-to-id.mm
debugger-support.mm
decltype.mm
deduction.mm
delay-parsing-cfunctions.mm
delay-parsing-cplusfuncs.mm
delay-parsing-func-tryblock.mm Add a new frontend warning for referencing members from the handler of a constructor or destructor function-try-block, which is UB in C++. 2015-09-01 14:49:24 +00:00
dllexport.mm Sema: support __declspec(dll*) on ObjC interfaces 2016-07-15 20:41:10 +00:00
dllimport.mm Sema: support __declspec(dll*) on ObjC interfaces 2016-07-15 20:41:10 +00:00
exceptions-fragile.mm Replace "can not" with "cannot" in diagnostics messages. 2014-03-07 22:36:23 +00:00
exceptions.mm [Sema] Be consistent about diagnostic wording: always use "cannot". 2015-08-15 15:23:14 +00:00
expr-objcxx.mm
foreach-block.mm
foreach.mm Re-commit r273548, reverted in r273589, with a fix to not produce 2016-06-23 19:02:52 +00:00
format-strings.mm
fragile-abi-object-assign.m
function-pointer-void-star.mm
gc-attributes.mm
goto.mm
instancetype.mm Obj-C: Fix assert-on-invalid (PR27822) 2016-06-03 16:59:13 +00:00
instantiate-expr.mm
instantiate-message.mm
instantiate-method-return.mm
instantiate-property-access.mm Fix assertion hit or bogus compiler error in cases when instantiating ObjC property accesses used with overloaded binary operators. 2014-06-19 14:45:16 +00:00
instantiate-stmt.mm
ivar-construct.mm Fix some confusing diagnostic wording. s/implicit default/implicit/ if we're 2013-06-13 03:34:55 +00:00
ivar-lookup.mm
ivar-reference-type.mm
ivar-struct.mm
linkage-spec.mm
lit.local.cfg Disallow driver use in more Sema tests 2014-04-19 19:07:31 +00:00
literals.mm
message.mm [Lit Test] Updated 20 Lit tests to be C++11 compatible. 2015-12-10 01:07:17 +00:00
microsoft-abi-byval.mm Remove the -cxx-abi command-line flag. 2014-01-14 19:35:09 +00:00
missing-lhs-gun-extension.mm Objective-C++ (and c++) Sema: Patch fixes a sema crash when gnu’s ?: extension 2013-05-17 16:29:36 +00:00
namespace-lookup.mm
null_objc_pointer.mm DR583, DR1512: Implement a rewrite to C++'s 'composite pointer type' rules. 2016-10-21 22:00:42 +00:00
nullability-consistency-arrays.mm Warn when 'assume_nonnull' infers nullability within an array. 2016-11-10 23:28:30 +00:00
nullability-consistency.mm Replace __double_underscored type nullability qualifiers with _Uppercase_underscored 2015-06-24 22:02:08 +00:00
nullability-pragmas.mm Substitute type arguments into uses of Objective-C interface members. 2015-07-07 03:57:53 +00:00
nullptr.mm
objc-boxed-expressions-nsvalue.mm Cleanup ObjCInterfaceDecl lookup for ObjC literals 2015-07-24 05:09:40 +00:00
objc-container-subscripting.mm
objc-decls-inside-namespace.mm
objc-extern-c.mm
objc-pointer-conv.mm
objc2-merge-gc-attribue-decl.mm [Sema] Emit a better diagnostic when variable redeclarations disagree 2015-07-14 20:08:49 +00:00
objcbridge-attribute-arc.mm [Objective-C Sema] Fixes a typo which did not allow 2015-04-10 22:07:47 +00:00
objcbridge-attribute.mm [Objective-C Sema] Fixes a typo which did not allow 2015-04-10 22:07:47 +00:00
objcbridge-related-attribute.mm ObjectiveC. Further improvements of use 2013-12-16 22:54:37 +00:00
objcbridge-static-cast.mm [Objective-C Sema] Fixes a typo which did not allow 2015-04-10 22:07:47 +00:00
old-style-cast.mm Test to ensure no old-style-cast warning is emitted for objc-arc __bridge casts 2013-12-03 05:31:51 +00:00
overload-gc.mm
overload.mm Introduce a new mangling for protocol-qualified ObjC types in C++. This allows 2013-06-18 22:41:37 +00:00
parameterized_classes.mm Handle Objective-C type arguments. 2015-07-07 03:57:35 +00:00
parameterized_classes_arc.mm Forbid qualifiers on ObjC generic parameters and arguments, but 2015-09-23 22:14:21 +00:00
parameterized_classes_subst.mm Implement variance for Objective-C type parameters. 2015-07-07 03:58:54 +00:00
parameters.mm
pointer-to-objc-pointer-conv.mm
propert-dot-error.mm Update error message text. 2015-01-18 19:05:48 +00:00
properties.mm ObjectiveC++: support for passing C++11 style initialized temporaries to 2013-10-16 17:51:43 +00:00
property-invalid-type.mm Stop back-patching 'readonly' Objective-C properties with 'readwrite' ones. 2015-11-03 01:15:46 +00:00
property-reference.mm When checking for illegal expressions in a default-argument 2013-04-09 01:56:28 +00:00
property-synthesis-error.mm Replace -fobjc-default-synthesize-properties with disable-objc-default-synthesize-properties. 2013-09-27 20:21:48 +00:00
property-type-mismatch.mm Objective-C properties: fix bogus use of "isa<>" on a QualType. 2015-12-08 22:45:17 +00:00
protocol-lookup.mm
pseudo-destructor.mm Allow pseudo-destructor calls on forward-declared Objective-C class pointers. 2015-12-14 19:12:54 +00:00
references.mm Grab-bag of bit-field fixes: 2013-05-06 21:39:12 +00:00
reinterpret-cast-objc-pointertype.mm
related-result-type-inference.mm
reserved-keyword-methods.mm
sel-address.mm Don't crash when passing &@selector to a _Nonnull parameter. Fixes PR24774. 2015-09-15 23:17:17 +00:00
standard-conversion-to-bool.mm
static-cast.mm
synchronized.mm Allow @synchronized to contextually convert a C++ object to an ObjC object pointer. 2014-08-12 16:20:36 +00:00
typeloc-data-alignment.mm [Sema] Fix bug in TypeLocBuilder::pushImpl 2016-02-18 21:05:09 +00:00
typo-correction.mm [Sema][ObjC++] Typo correction should handle ivars and properties 2017-02-03 14:22:33 +00:00
unknown-anytype.mm
vararg-non-pod.mm [Lit Test] Updated 26 Lit tests to be C++11 compatible. 2015-11-11 19:34:47 +00:00
vla.mm
void_to_obj.mm
warn-missing-super.mm
warn-objc-literal-conversion.mm A new conversion warning for when an Objective-C object literal is implicitly 2014-01-28 23:40:26 +00:00
warn-strict-selector-match.mm