1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 %s -fblocks -triple x86_64-apple-darwin -emit-llvm -o - | FileCheck %s 2*f4a2713aSLionel Sambuc 3*f4a2713aSLionel Sambuc struct S { 4*f4a2713aSLionel Sambuc S(const char *); 5*f4a2713aSLionel Sambuc ~S(); 6*f4a2713aSLionel Sambuc }; 7*f4a2713aSLionel Sambuc 8*f4a2713aSLionel Sambuc struct TestObject 9*f4a2713aSLionel Sambuc { 10*f4a2713aSLionel Sambuc TestObject(const TestObject& inObj, int def = 100, const S &Silly = "silly"); 11*f4a2713aSLionel Sambuc TestObject(); 12*f4a2713aSLionel Sambuc ~TestObject(); 13*f4a2713aSLionel Sambuc TestObject& operator=(const TestObject& inObj); 14*f4a2713aSLionel Sambuc int version() const; 15*f4a2713aSLionel Sambuc 16*f4a2713aSLionel Sambuc }; 17*f4a2713aSLionel Sambuc testRoutine()18*f4a2713aSLionel Sambucvoid testRoutine() { 19*f4a2713aSLionel Sambuc TestObject one; 20*f4a2713aSLionel Sambuc int (^V)() = ^{ return one.version(); }; 21*f4a2713aSLionel Sambuc } 22*f4a2713aSLionel Sambuc 23*f4a2713aSLionel Sambuc // CHECK: call void @_ZN10TestObjectC1Ev 24*f4a2713aSLionel Sambuc // CHECK: call void @_ZN1SC1EPKc 25*f4a2713aSLionel Sambuc // CHECK: call void @_ZN10TestObjectC1ERKS_iRK1S 26*f4a2713aSLionel Sambuc // CHECK: call void @_ZN1SD1Ev 27*f4a2713aSLionel Sambuc // CHECK: call void @_ZN10TestObjectD1Ev 28*f4a2713aSLionel Sambuc // CHECK: call void @_ZN10TestObjectD1Ev 29