// RUN: %clang_cc1 -emit-llvm -gdwarf-2 -fblocks -o - -x objective-c %s| FileCheck %s
// This code triggered a bug where a dbg.declare intrinsic ended up with the
// wrong parent and subsequently failed the Verifier.
void baz(id b);
void fub(id block);
int foo(void);
void bar(void) {
  fub(^() {
      id a;
      id b = [a bar:^(int e){}];
      if (b) {
        ^() {
            if ((0 && foo()) ? 1 : 0) {
              baz([a aMessage]);
            }
        };
      }
  });
}

// Verify that debug info for BlockPointerDbgLoc is emitted for the
// innermost block.
//
// CHECK: define {{.*}}void @__bar_block_invoke_3(i8* %.block_descriptor)
// CHECK: %[[BLOCKADDR:.*]] = alloca <{{.*}}>*, align
// CHECK: call void @llvm.dbg.declare(metadata {{.*}}%[[BLOCKADDR]]
