forked from OSchip/llvm-project
28 lines
886 B
C++
28 lines
886 B
C++
// RUN: %clang_cc1 -std=c++11 -emit-llvm -fblocks -o - -triple x86_64-apple-darwin10 %s | FileCheck %s
|
|
// rdar://11343499
|
|
|
|
namespace N {
|
|
typedef void (^BL)();
|
|
int func(BL, BL, BL);
|
|
|
|
// CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke(
|
|
// CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke_2(
|
|
// CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke_3
|
|
BL ArrBlock [] = { ^{}, ^{}, ^{} };
|
|
|
|
// CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_4(
|
|
// CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_5(
|
|
// CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_6(
|
|
int ival = func(^{}, ^{}, ^{});
|
|
|
|
// CHECK-LABEL: define internal void @_ZN1N9gvarlobalE_block_invoke_7(
|
|
void (^gvarlobal)(void) = ^{};
|
|
|
|
struct S {
|
|
BL field = ^{};
|
|
};
|
|
|
|
// CHECK-LABEL: define internal void @_ZN1N3blfE_block_invoke_8(
|
|
S blf;
|
|
};
|