clang/test/SemaObjCXX
Aaron Puchert 86d4513d3e Thread safety analysis: Handle ObjCIvarRefExpr in SExprBuilder::translate
Summary:
This imitates the code for MemberExpr.

Fixes PR38896.

Reviewers: aaron.ballman, delesley, lukasza, rjmccall

Reviewed By: delesley

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@342600 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-19 23:57:38 +00:00
..
Inputs [Sema][ObjC] Look for either objc_bridge or objc_bridge_mutable when 2017-10-24 23:38:14 +00:00
NSString-type.mm objective-c++: Type of an objc string literal is NSString, not 'id'. 2012-02-23 22:51:36 +00:00
abstract-class-type-ivar.mm Remove referece type onproperty of abstract 2013-07-05 23:50:55 +00:00
arc-0x.mm One can override an Objective-C ARC ownership qualifier that came from 2013-01-17 23:59:28 +00:00
arc-bool-conversion.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-bridged-cast.mm [Sema][ObjC] Check whether a variable has a definition, rather than 2017-04-11 22:01:33 +00:00
arc-libstdcxx.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-memfunc.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-nsconsumed-errors.mm Improve some infrastructure for extended parameter infos and 2016-03-03 00:10:03 +00:00
arc-objc-lifetime.mm objective-C++ test for my previous patch. 2012-09-12 21:27:26 +00:00
arc-overloading.mm Reusing an existing attribute diagnostic 2017-05-03 14:05:00 +00:00
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-ptr-comparison.mm [ARC][ObjC++] Use ObjC semantic rules for comparisons between a pointer and 2017-03-30 13:48:33 +00:00
arc-system-header.mm [test] Make Lit tests C++11 Compatible - Objective-C++ 2017-02-13 23:09:56 +00:00
arc-templates.mm Print nested name specifiers for typedefs and type aliases 2017-03-10 15:04:58 +00:00
arc-type-conversion.mm Some minor ARC diagnostic improvements. 2015-10-21 18:06:38 +00:00
arc-type-traits.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
arc-unavailable-for-weakref.mm [Objective-C] Fix "weak-unavailable" warning with -fobjc-weak 2017-03-29 18:09:02 +00:00
arc-unbridged-cast.mm objective-C arc: Diagnostic can not say to use bridge 2013-02-22 01:22:48 +00:00
argument-dependent-lookup.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
attr-trivial-abi.mm [Sema] Produce diagnostics for attribute 'trivial_abi' that appears 2018-06-19 05:04:44 +00:00
base-type-as-written.mm [Sema] Remove assert in TreeTransform<Derived>::TransformObjCObjectType. 2016-02-25 07:08:33 +00:00
block-cleanup.mm Re-commit r321223, which adds a printing policy to the ASTDumper. 2017-12-21 21:42:42 +00:00
block-for-lambda-conversion.mm ObjCXX: fix a crash during typo correction. 2016-02-02 22:23:03 +00:00
block-variable-move.mm [ObjC++] Don't warn about pessimizing move for __block variables 2017-11-07 21:40:11 +00:00
blocks.mm Revert r341754. 2018-09-09 05:22:49 +00:00
boxing-illegal-types.mm Allow objc @() syntax for enum types. 2012-05-15 19:17:44 +00:00
capturing-flexible-array-in-block.mm put back diagnostics when flexible members are captured 2013-01-09 00:09:15 +00:00
category-lookup.mm When disambiguating an expression-statement from a declaraton-statement, if the 2012-08-23 20:19:14 +00:00
class-templ-error-null-init.mm [Sema] Relax a failing assert in TemplateArgumentLoc 2018-07-31 00:18:30 +00:00
composite-objc-pointertype.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
conditional-expr.mm Initialization improvements: addition of string initialization and a few 2009-12-19 08:11:05 +00:00
const-cast.mm Permit Objective C object pointers to be const_casted. 2010-05-18 09:35:29 +00:00
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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
conversion-to-objc-pointer-2.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
conversion-to-objc-pointer.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
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 Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
cstyle-cast.mm Provide overload diagnostics when explicit casts involving class types fail. 2011-02-14 18:34:10 +00:00
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 Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
debugger-cast-result-to-id.mm Improve LLDB's implicit cast-to-id to work with C++11 auto and any Objective-C object type <rdar://problem/13338107>. 2013-03-07 22:57:58 +00:00
debugger-support.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
decltype.mm Add a simple test involving decltype on Objective-C properties and ivars 2012-10-24 14:13:21 +00:00
deduction.mm Permit template argument deduction to add qualifiers within ObjC object 2010-08-05 05:30:45 +00:00
delay-parsing-cfunctions.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
delay-parsing-cplusfuncs.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
flexible-array.mm [Sema] Add support for flexible array members in Obj-C. 2017-10-23 22:01:41 +00:00
foreach-block.mm ObjClang++: Allow declaration of block variable in a collection 2010-08-29 17:20:53 +00:00
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 -Wformat: Don't check format strings in uninstantiated templates. 2012-10-02 01:49:54 +00:00
fragile-abi-object-assign.m Restructure how the driver communicates information about the 2012-06-20 06:18:46 +00:00
function-pointer-void-star.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
gc-attributes.mm Rename objc_lifetime -> objc_ownership, and modify diagnostics to talk about 'ownership', not 'lifetime'. 2011-06-24 00:08:59 +00:00
goto.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
instancetype.mm Obj-C: Fix assert-on-invalid (PR27822) 2016-06-03 16:59:13 +00:00
instantiate-expr.mm Objective-C: Issue more precise warning when user 2013-03-27 21:19:25 +00:00
instantiate-message.mm tests: Use %clangxx when using driver for C++, in case C++ support is disabled. 2010-06-29 16:52:24 +00:00
instantiate-method-return.mm [Sema][ObjC] Ensure that the return type of an ObjC method is a complete 2018-04-12 06:01:41 +00:00
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 objective-c: improve diagnostic when collection expression is 2012-06-22 15:37:00 +00:00
interface-return-type.mm Fix errored return value in CheckFunctionReturnType and add a fixit hint 2017-05-10 20:03:16 +00:00
is-base-of.mm [Sema] Objective-C++ support for type trait __is_base_of 2017-05-10 17:18:56 +00:00
ivar-construct.mm [test] Make Lit tests C++11 Compatible - Objective-C++ 2017-02-13 23:09:56 +00:00
ivar-lookup.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
ivar-reference-type.mm Diagnose declaration of reference typed ivars. 2010-04-26 22:07:03 +00:00
ivar-struct.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
linkage-spec.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
lit.local.cfg Disallow driver use in more Sema tests 2014-04-19 19:07:31 +00:00
literals.mm objective-c modern translator: buildit objc bool 2012-04-16 21:03:30 +00:00
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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
noescape.mm Revert r341754. 2018-09-09 05:22:49 +00:00
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-completeness-cferror.mm [Sema][ObjC] Look for either objc_bridge or objc_bridge_mutable when 2017-10-24 23:38:14 +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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
objc-boxed-expressions-nsvalue.mm Cleanup ObjCInterfaceDecl lookup for ObjC literals 2015-07-24 05:09:40 +00:00
objc-container-subscripting.mm Capitalize "Objective-C" and "C++" in user-facing contexts. 2012-07-19 18:10:18 +00:00
objc-decls-inside-namespace.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc-extern-c.mm Don't crash when a duplicate interface/protocol is inside an extern "C" context. 2011-11-13 22:08:30 +00:00
objc-pointer-conv.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
objc-weak-type-traits.mm [Objective-C] Fix __weak type traits with -fobjc-weak 2017-03-29 17:40:35 +00:00
objc-weak.mm [Objective-C] Miscellaneous -fobjc-weak Fixes 2017-03-29 18:16:38 +00:00
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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
overload.mm [ObjC++] Conversions from specialized to non-specialized Objective-C generic 2017-04-06 13:06:34 +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 Improve diagnostics and error recovery for template name lookup. 2018-05-11 02:43:08 +00:00
parameters.mm Fold together the two implementations of 6.7.3p2 in SemaType. Fix two bugs, each of which was only present in one version: 2013-03-28 00:03:10 +00:00
pointer-to-objc-pointer-conv.mm clang/test: Suppress two tests on LLP64 target, Windows x64. 2012-11-19 10:00:59 +00:00
pr32725.mm Sema: protect against ObjC++ typo-correction failure 2017-04-20 22:23:10 +00:00
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 Improvements to vexing-parse warnings. Make the no-parameters case more 2012-07-30 21:30:52 +00:00
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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
related-result-type-inference.mm Eliminate the -f[no]objc-infer-related-result-type flags; there's no 2011-06-13 16:42:53 +00:00
reserved-keyword-methods.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
static-cast.mm Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
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 Typo correct the condition of 'do-while' before exiting its scope 2017-10-30 22:55:11 +00:00
unknown-anytype.mm Accept and pass arguments to __unknown_anytype in argument 2012-11-14 00:49:39 +00:00
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 Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
void_to_obj.mm Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared. 2012-04-06 18:12:22 +00:00
warn-missing-super.mm objective-C: Improving diagnostocs for missing call to 2012-09-10 16:51:09 +00:00
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 Modify how the -verify flag works. Currently, the verification string and 2011-12-15 00:38:15 +00:00
warn-thread-safety-analysis.mm Thread safety analysis: Handle ObjCIvarRefExpr in SExprBuilder::translate 2018-09-19 23:57:38 +00:00