llvm-project/clang/test/CodeGenObjCXX
Akira Hatanaka 32e0a584f8 [CodeGen] Use the mangle context owned by CodeGenModule to correctly
mangle types of lambda objects captured by a block instead of creating a
new mangle context everytime a captured field type is mangled.

This fixes a bug in IRGen's block helper merging code that was
introduced in r339438 where two blocks capturing two distinct lambdas
would end up sharing helper functions and the block descriptor. This
happened because the ID number used to distinguish lambdas defined
in the same context is reset everytime a mangled context is created.

rdar://problem/45314494

llvm-svn: 344833
2018-10-20 05:45:01 +00:00
..
Inputs
2007-10-03-MetadataPointers.mm
2010-08-04-Template.mm
2010-08-06-X.Y-syntax.mm
address-safety-attr.mm
arc-attrs-abi.mm Represent pass_object_size attrs in ExtParameterInfo 2017-02-24 02:49:47 +00:00
arc-attrs.mm Forward ns_consumed delegate arguments with a move. 2016-11-18 01:08:24 +00:00
arc-blocks.mm Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
arc-constexpr.mm [CodeGen][ObjC] Do not call objc_storeStrong when initializing a 2016-10-18 19:05:41 +00:00
arc-cxx11-init-list.mm Disable -fmerge-all-constants as default. 2018-04-05 15:29:52 +00:00
arc-cxx11-member-init.mm
arc-exceptions.mm Change memcpy/memove/memset to have dest and source alignment attributes (Step 1). 2018-01-19 17:12:54 +00:00
arc-forwarded-lambda-call.mm [CodeGen] Avoid destructing a callee-destructued struct type in a 2018-04-27 06:57:00 +00:00
arc-globals.mm Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-indirect.mm test: fix test for release builds 2017-06-27 18:57:50 +00:00
arc-list-init-destruct.mm [Sema] Check that the destructor for each element of class type is 2018-09-07 02:38:01 +00:00
arc-mangle.mm Mangle __unaligned in Itanium ABI 2017-06-02 07:14:34 +00:00
arc-marker-funclet.mm [AST] Revert mangling changes from r339428 2018-10-04 19:50:14 +00:00
arc-move.mm Update for lifetime intrinsic signature change 2017-04-10 20:18:45 +00:00
arc-new-delete.mm Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
arc-pseudo-destructors.mm
arc-references.mm [ObjC] Fix lifetime markers of loop variable in EmitObjCForCollectionStmt [take 2] 2017-04-14 16:53:25 +00:00
arc-returns-inner-reference-ptr.mm
arc-special-member-functions.mm [CodeGen] Avoid destructing a callee-destructued struct type in a 2018-04-27 06:57:00 +00:00
arc-weak.mm Correctly handle type mismatches in the __weak copy/move-initialization 2015-11-16 22:11:41 +00:00
arc.mm Update for lifetime intrinsic signature change 2017-04-10 20:18:45 +00:00
auto-release-result-assert.mm [CodeGen] Fix an assert in CodeGenFunction::EmitFunctionEpilog 2016-02-17 21:09:50 +00:00
block-default-arg.mm [CodeGenObjCXX] Don't rematerialize default arguments of function 2016-05-02 21:52:57 +00:00
block-id.mm
block-in-template-inst.mm
block-nested-in-lambda.mm [CodeGen] Look at the type of a block capture field rather than the type 2018-08-22 13:41:19 +00:00
block-var-layout.mm Fix and stylize the emission of GC/ARC ivar and GC block layout strings. 2015-10-21 18:06:47 +00:00
blocks.mm Reapply "[CodeGen] Fix assignments of inline layouts into the byref structure" 2015-12-21 20:21:15 +00:00
boxing.mm ObjCBoxedExpr can't be evaluated by the constant expression evaluator. 2017-04-29 00:07:27 +00:00
catch-id-type.mm
copy.mm Replace Sema-level implementation of -fassume-sane-operator-new with a 2016-04-07 21:46:12 +00:00
copyable-property-object.mm
debug-info-block-capture-this.mm DebugInfo: Adapt to loss of DITypeRef in LLVM r267296 2016-04-23 21:08:27 +00:00
debug-info-cyclic.mm DebugInfo: pass alignment value only if it was forced 2016-10-20 00:13:19 +00:00
debug-info-line.mm [DEBUGINFO] Add support for emission of the debug directives only. 2018-08-31 13:56:14 +00:00
debug-info.mm Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
designated-initializers.mm
destroy.mm Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
encode.mm [test] Make Lit tests C++11 Compatible - Objective-C++ 2017-02-13 23:09:56 +00:00
exception-cxx.mm [test] Specify exception object type in two tests 2015-09-11 17:39:34 +00:00
exceptions-legacy.mm Update clang unittests for rL281586. 2016-09-15 06:31:30 +00:00
exceptions.mm
externally-initialized-selectors.mm
foreach-statement.mm
gc.mm
implementation-in-extern-c.mm
implicit-copy-assign-operator.mm
implicit-copy-constructor.mm Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
instantiate-return.mm [Sema][ObjC] Ensure that the return type of an ObjC method is a complete 2018-04-12 06:01:41 +00:00
ivar-objects.mm
lambda-expressions.mm [CodeGen] Avoid destructing a callee-destructued struct type in a 2018-04-27 06:57:00 +00:00
lambda-to-block.mm [CodeGen] Use the mangle context owned by CodeGenModule to correctly 2018-10-20 05:45:01 +00:00
literals.mm Add missing temporary materialization conversion on left-hand side of . 2018-07-27 17:13:18 +00:00
lvalue-reference-getter.mm
mangle-blocks.mm Fix off-by-one error in block mangling. 2017-09-07 05:41:24 +00:00
mangle.mm Fix mangled name of method with ns_consumed parameters. 2016-05-25 14:15:08 +00:00
message-reference.mm
message.mm
method-local-extern-mangle.mm
microsoft-abi-arc-param-order.mm [AST] Revert mangling changes from r339428 2018-10-04 19:50:14 +00:00
mrc-weak.mm [CodeGen] Merge equivalent block copy/helper functions. 2018-08-10 15:09:24 +00:00
msabi-objc-extensions.mm [AST] Revert mangling changes from r339428 2018-10-04 19:50:14 +00:00
msabi-objc-types.mm [AST] Revert mangling changes from r339428 2018-10-04 19:50:14 +00:00
msabi-stret.mm CodeGenObjCXX: handle inalloca appropriately for msgSend variant 2018-02-28 20:16:12 +00:00
nested-ehlocation.mm Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
nrvo.mm
objc-container-subscripting-1.mm
objc-container-subscripting.mm
objc-struct-cxx-abi.mm Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
objc-weak.mm [Objective-C] C++ Classes with __weak Members non-POD Types when using -fobjc-weak 2017-03-29 17:31:42 +00:00
objfw-exceptions.mm [ObjC++] Use the correct EH personality in GNU mode 2017-04-01 17:59:01 +00:00
personality-abuse.mm Fix broken tests from no-jump-table commit 2016-04-05 18:59:37 +00:00
personality.mm [CodeGen] Always use MSVC personality for windows-msvc targets 2018-06-08 00:41:01 +00:00
pr14474-gline-tables-only.mm [DEBUGINFO] Add support for emission of the debug directives only. 2018-08-31 13:56:14 +00:00
property-derived-to-base-conv.mm
property-dot-copy-elision.mm Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
property-dot-copy.mm
property-dot-reference.mm
property-lvalue-capture.mm
property-object-conditional-exp.mm
property-object-reference-1.mm
property-object-reference-2.mm Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
property-object-reference.mm
property-objects.mm Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
property-reference.mm
refence-assign-write-barrier.mm
references.mm
return.mm Add -f[no-]strict-return flag that can be used to avoid undefined behaviour 2017-01-04 13:40:34 +00:00
rtti.mm
selector-expr-lvalue.mm Let selector-expr-lvalue.mm actually test something. 2015-09-11 21:24:40 +00:00
subst-sel.mm
unknown-anytype.mm
write-barrier-global-assign.mm