1 // RUN: %clang_cc1 -std=c++11 -emit-llvm -fblocks -o - -triple x86_64-apple-darwin10 %s | FileCheck %s 2 // rdar://11343499 3 4 namespace N { 5 typedef void (^BL)(); 6 int func(BL, BL, BL); 7 8 // CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke( 9 // CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke_2( 10 // CHECK-LABEL: define internal void @_ZN1N8ArrBlockE_block_invoke_3 11 BL ArrBlock [] = { ^{}, ^{}, ^{} }; 12 13 // CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_4( 14 // CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_5( 15 // CHECK-LABEL: define internal void @_ZN1N4ivalE_block_invoke_6( 16 int ival = func(^{}, ^{}, ^{}); 17 18 // CHECK-LABEL: define internal void @_ZN1N9gvarlobalE_block_invoke_7( 19 void (^gvarlobal)(void) = ^{}; 20 21 struct S { 22 BL field = ^{}; 23 }; 24 25 // CHECK-LABEL: define internal void @_ZN1N3blfE_block_invoke_8( 26 S blf; 27 }; 28