// RUN: %clang_cc1 -emit-llvm -dwarf-version=2 -debug-info-kind=limited -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]]
