/* APPLE LOCAL file radar 6083129 byref escapes */
/* { dg-do run { target *-*-darwin[1-2][0-9]* } } */
/* { dg-options "-fblocks" } */
/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */

#include <stdio.h>

extern void abort(void);

static int count;
extern "C" void _Block_object_dispose(void * arg, int flag) {
  printf ("%p\n", arg);
  ++count;
}

int main() {
  {
    __block int O1;
    int p = 0;
    do {
      __block int I1;
      do {
	__block int J1;
	if (p == 2)
	  break;
      } while ( ++p < 3);
      if (p == 4)
	break;
    } while (++p != 5);
  }

  return count-7;
}
