1 // RUN: %clang_cc1 -emit-llvm-only -std=c++11 -fblocks -o - -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 %s
5 - (void)setObject:(id)obj forKey:(id)key;
14 NSCache* _spDeviceCache;
18 DYFuture* ResourceManager<T>::XXX()
21 [_spDeviceCache setObject:0 forKey:0];
27 struct AnalyzerBaseObjectTypes { };
31 ResourceManager<AnalyzerBaseObjectTypes> *rm;
32 ^(void) { rm->XXX(); }();
36 template<typename T> struct Curry;
38 template<typename R, typename Arg0, typename Arg1, typename Arg2>
39 struct Curry<R (^)(Arg0, Arg1, Arg2)>
41 typedef R (^FType)(Arg0, Arg1, Arg2);
43 Curry(FType _f) : f(_f) {}
46 R (^(^operator()(Arg0 a))(Arg1))(Arg2)
48 auto block = ^(Arg1 b) {
49 auto inner_block = ^(Arg2 c) {
61 auto add = ^(int a, int b, int c)
67 Curry<__decltype(add)> c = Curry<__decltype(add)>(add);
68 auto t = c(1)(10)(100);