llvm-project/clang/test/SemaObjCXX
Richard Smith 825e3bb580 PR46209: properly determine whether a copy assignment operator is
trivial.

We previously took a shortcut by assuming that if a subobject had a
trivial copy assignment operator (with a few side-conditions), we would
always invoke it, and could avoid going through overload resolution.
That turns out to not be correct in the presenve of ref-qualifiers (and
also won't be the case for copy-assignments with requires-clauses
either). Use the same logic for lazy declaration of copy-assignments
that we use for all other special member functions.

Previously committed as c57f8a3a20. This
now also includes an extension of LLDB's workaround for handling special
members without the help of Sema to cover copy assignments.
2020-06-05 16:05:32 -07: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
abstract-class-type-ivar.mm
arc-0x.mm PR46209: properly determine whether a copy assignment operator is 2020-06-05 16:05:32 -07:00
arc-bool-conversion.mm
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
arc-memfunc.mm
arc-nsconsumed-errors.mm
arc-objc-lifetime.mm
arc-overloading.mm CWG2352: Allow qualification conversions during reference binding. 2020-01-09 18:24:06 -08:00
arc-ppe.mm
arc-ptr-comparison.mm Add a FIXME and corresponding test coverage for some suspicious behavior 2020-01-10 16:12:00 -08: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 [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
arc-type-traits.mm
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
argument-dependent-lookup.mm
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
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
block-variable-move.mm [ObjC++] Don't warn about pessimizing move for __block variables 2017-11-07 21:40:11 +00:00
blocks.mm Distinguish `__block` variables that are captured by escaping blocks 2018-10-01 21:51:28 +00:00
boxing-illegal-types.mm
capturing-flexible-array-in-block.mm If capturing a variable fails, add a capture anyway (and mark it 2019-05-28 23:09:44 +00:00
category-lookup.mm
class-method-self.mm [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object 2019-10-17 15:27:04 +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 Clean up and slightly generalize implementation of composite pointer 2020-01-10 16:12:00 -08:00
comptypes-1.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
comptypes-7.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
conditional-expr.mm
const-cast.mm
contextual-convert-to-id.mm
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
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
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
exceptions.mm
expr-objcxx.mm
flexible-array.mm [Sema] Add support for flexible array members in Obj-C. 2017-10-23 22:01:41 +00:00
foreach-block.mm
foreach.mm [cxx2a] P0614R1: Support init-statements in range-based for loops. 2018-09-28 18:44:09 +00:00
format-strings.mm
fragile-abi-object-assign.m
function-pointer-void-star.mm
gc-attributes.mm Recommit r359859 "[Attribute/Diagnostics] Print macro if definition is an attribute declaration" 2019-05-07 03:20:17 +00:00
goto.mm
instancetype.mm [ObjC] Diagnose implicit type coercion from ObjC 'Class' to object 2019-10-17 15:27:04 +00:00
instantiate-expr.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
instantiate-message.mm
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
instantiate-stmt.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +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
ivar-reference-type.mm
ivar-struct.mm
linkage-spec.mm
lit.local.cfg
literals.mm [ObjC] Emit a boxed expression as a compile-time constant if the 2019-03-08 04:45:37 +00:00
message.mm [c++20] Implement semantic restrictions for C++20 designated 2019-08-30 22:52:55 +00:00
microsoft-abi-byval.mm
missing-lhs-gun-extension.mm
namespace-lookup.mm
no-crash-thread-safety-analysis.mm Thread Safety: also look at ObjC methods 2019-03-25 20:06:32 +00:00
noescape.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +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
nullability-pragmas.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
nullptr.mm
objc-boxed-expressions-nsvalue.mm
objc-container-subscripting.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
objc-decls-inside-namespace.mm
objc-extern-c.mm
objc-pointer-conv.mm
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 [Sema][ObjC] Allow declaring ObjC pointer members with non-trivial 2019-02-02 02:23:40 +00:00
objc2-merge-gc-attribue-decl.mm
objcbridge-attribute-arc.mm
objcbridge-attribute.mm
objcbridge-related-attribute.mm
objcbridge-static-cast.mm
old-style-cast.mm
overload-gc.mm
overload.mm [Sema] Deduplicate some availability checking logic 2019-03-20 19:26:33 +00:00
parameterized_classes.mm
parameterized_classes_arc.mm [AST] dont invaliate VarDecl when the initializer contains errors. 2020-04-21 10:53:35 +02:00
parameterized_classes_subst.mm Form invalid template-id annotations when parsing a construct that is 2020-03-27 20:27:42 -07:00
parameters.mm
pointer-to-objc-pointer-conv.mm
pr32725.mm Sema: protect against ObjC++ typo-correction failure 2017-04-20 22:23:10 +00:00
propert-dot-error.mm
properties.mm
property-invalid-type.mm [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
property-reference.mm
property-synthesis-error.mm
property-type-mismatch.mm
protocol-lookup.mm
pseudo-destructor.mm
references.mm
reinterpret-cast-objc-pointertype.mm
related-result-type-inference.mm
reserved-keyword-methods.mm
sel-address.mm
standard-conversion-to-bool.mm
static-cast.mm
synchronized.mm
thread-safety-analysis.h Thread Safety: also look at ObjC methods 2019-03-25 20:06:32 +00:00
type-traits-is-pointer.mm Fix __is_pointer builtin type trait to work with Objective-C pointer types. 2020-04-08 10:02:53 -07:00
typeloc-data-alignment.mm
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
vararg-non-pod.mm expected-no-diagnostics@ does not make sense, switching to a more idiomatic form; NFC. 2019-03-07 15:03:06 +00:00
vla.mm
void_to_obj.mm
warn-implicit-self-in-block.mm [Sema][ObjC] Don't warn about an implicitly retained self if the 2019-04-17 23:14:44 +00:00
warn-missing-super.mm
warn-objc-literal-conversion.mm
warn-strict-selector-match.mm
warn-thread-safety-analysis.mm Thread Safety: also look at ObjC methods 2019-03-25 20:06:32 +00:00