hanchenye-llvm-project/clang/test/SemaObjCXX
Akira Hatanaka 02914dc127 Add support for attribute 'trivial_abi'.
The 'trivial_abi' attribute can be applied to a C++ class, struct, or
union. It makes special functions of the annotated class (the destructor
and copy/move constructors) to be trivial for the purpose of calls and,
as a result, enables the annotated class or containing classes to be
passed or returned using the C ABI for the underlying type.

When a type that is considered trivial for the purpose of calls despite
having a non-trivial destructor (which happens only when the class type
or one of its subobjects is a 'trivial_abi' class) is passed to a
function, the callee is responsible for destroying the object.

For more background, see the discussions that took place on the mailing
list:

http://lists.llvm.org/pipermail/cfe-dev/2017-November/055955.html
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20180101/thread.html#214043

rdar://problem/35204524

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

llvm-svn: 324269
2018-02-05 20:23:22 +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
abstract-class-type-ivar.mm
arc-0x.mm
arc-bool-conversion.mm
arc-bridged-cast.mm
arc-libstdcxx.mm
arc-memfunc.mm
arc-nsconsumed-errors.mm
arc-objc-lifetime.mm
arc-overloading.mm
arc-ppe.mm
arc-ptr-comparison.mm
arc-system-header.mm
arc-templates.mm
arc-type-conversion.mm
arc-type-traits.mm
arc-unavailable-for-weakref.mm
arc-unbridged-cast.mm
argument-dependent-lookup.mm
attr-trivial-abi.mm Add support for attribute 'trivial_abi'. 2018-02-05 20:23:22 +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
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
conversion-ranking.mm
conversion-to-objc-pointer-2.mm
conversion-to-objc-pointer.mm
crash.mm
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
dllimport.mm
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
format-strings.mm
fragile-abi-object-assign.m
function-pointer-void-star.mm
gc-attributes.mm
goto.mm
instancetype.mm
instantiate-expr.mm
instantiate-message.mm
instantiate-method-return.mm
instantiate-property-access.mm
instantiate-stmt.mm
interface-return-type.mm
is-base-of.mm
ivar-construct.mm
ivar-lookup.mm
ivar-reference-type.mm
ivar-struct.mm
linkage-spec.mm
lit.local.cfg
literals.mm
message.mm
microsoft-abi-byval.mm
missing-lhs-gun-extension.mm
namespace-lookup.mm
noescape.mm Add test cases that weren't committed in r313945. 2017-09-22 01:54:36 +00:00
null_objc_pointer.mm
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
nullability-consistency.mm
nullability-pragmas.mm
nullptr.mm
objc-boxed-expressions-nsvalue.mm
objc-container-subscripting.mm
objc-decls-inside-namespace.mm
objc-extern-c.mm
objc-pointer-conv.mm
objc-weak-type-traits.mm
objc-weak.mm
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
parameterized_classes.mm
parameterized_classes_arc.mm
parameterized_classes_subst.mm
parameters.mm
pointer-to-objc-pointer-conv.mm
pr32725.mm
propert-dot-error.mm
properties.mm
property-invalid-type.mm
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
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
vla.mm
void_to_obj.mm
warn-missing-super.mm
warn-objc-literal-conversion.mm
warn-strict-selector-match.mm