// RUN: %clang_cc1 -std=c++11 -fblocks -emit-llvm -o - -triple x86_64-apple-darwin11.3 %s | FileCheck %s

namespace PR12746 {
  // CHECK: define zeroext i1 @_ZN7PR127462f1EPi
  bool f1(int *x) {
    // CHECK: store i8* bitcast (i1 (i8*)* @___ZN7PR127462f1EPi_block_invoke to i8*)
    bool (^outer)() = ^ {
      auto inner = [&]() -> bool {
	return x == 0;
      };
      return inner();
    };
    return outer();
  }

  // CHECK: define internal zeroext i1 @___ZN7PR127462f1EPi_block_invoke
  // CHECK: call zeroext i1 @"_ZNK7PR127462f132___ZN7PR127462f1EPi_block_invoke3$_0clEv"

  bool f2(int *x) {
    auto outer = [&]() -> bool {
      bool (^inner)() = ^ {
	return x == 0;
      };
      return inner();
    };
    return outer();
  }
}

