llvm/clang/test/PCH/no-escaping-block-tail-calls.h

typedef int (^BlockTy)(void);

struct S0 {
  int a;
};

struct S {
  int i;
  void func(BlockTy __attribute__((noescape)));
  int foo(S0 &);

  void m() {
    __block S0 x;
    func(^{ return foo(x); });
  }
};