forked from OSchip/llvm-project
19 lines
577 B
Plaintext
19 lines
577 B
Plaintext
|
// RUN: %clang_cc1 -x objective-c++ -fblocks -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -std=c++1z -emit-llvm -o - %s | FileCheck %s
|
||
|
|
||
|
// rdar://31385153
|
||
|
// Shouldn't crash!
|
||
|
|
||
|
void takesBlock(void (^)(void));
|
||
|
|
||
|
struct Copyable {
|
||
|
Copyable(const Copyable &x);
|
||
|
};
|
||
|
|
||
|
void hasLambda(Copyable x) {
|
||
|
takesBlock([x] () { });
|
||
|
}
|
||
|
// CHECK-LABEL: define internal void @__copy_helper_block_
|
||
|
// CHECK: call void @"_ZZ9hasLambda8CopyableEN3$_0C1ERKS0_"
|
||
|
// CHECK-LABEL: define internal void @"_ZZ9hasLambda8CopyableEN3$_0C2ERKS0_"
|
||
|
// CHECK: call void @_ZN8CopyableC1ERKS_
|